Commit Graph

378 Commits (2665c43f346f2bd7c021f0814cfb5c50a145ae70)

Author SHA1 Message Date
K.C. Wong bc1681e0bd Defaults for the ceph-mon role should be setting the 'mon_group_name'
* without this, the handler in ceph-common that depends on
  the value of 'mon_group_name' would fail
2015-11-05 18:31:34 -08:00
K.C. Wong 92246616e5 This change address radosgw not getting started on CentOS
* The explicit check of 'ansible_distribution' being 'RedHat'
  will not work on CentOS hosts.
* Check the value of 'ansible_os_family' instead.
2015-11-05 18:06:41 -08:00
Huamin Chen 860125ff8f various fixes for CentOS
Signed-off-by: Huamin Chen <hchen@redhat.com>
2015-11-05 20:39:03 +00:00
Sébastien Han d7c17812dd Ability to collocate bare metal and container
Since we renamed the variables and removed the old 'docker' variable we
can now collocate container daemons with standard bare metal deployment.
For instance, monitors can be containerized but osds can be deployed
traditionally.

Signed-off-by: Sébastien Han <seb@redhat.com>
2015-10-21 23:18:22 +02:00
Sébastien Han 9264a868fd Add proper permission for selinux
Signed-off-by: Sébastien Han <seb@redhat.com>
2015-10-21 12:11:32 +02:00
Sébastien Han 33ed4f5029 Fix typo
Signed-off-by: Sébastien Han <seb@redhat.com>
2015-10-21 02:18:48 +02:00
Sébastien Han 2daeb807ed Add safety checks prior to deploy a cluster in containers
Signed-off-by: Sébastien Han <seb@redhat.com>
2015-10-21 02:12:43 +02:00
Sébastien Han 5fb7b1be5c Fix typo
Signed-off-by: Sébastien Han <seb@redhat.com>
2015-10-20 17:17:58 +02:00
Sébastien Han 4c4aa32943 Create missing directories when deploying with docker
Signed-off-by: Sébastien Han <sebhan@cisco.com>
2015-10-20 17:05:34 +02:00
Leseb 324a4745fc Merge pull request #418 from msambol/rgw
Refactor rgw
2015-10-19 13:24:49 +02:00
Leseb 2478d79ce1 Merge pull request #417 from msambol/refactor_mds
Refactor mds
2015-10-19 13:24:42 +02:00
Leseb 9cb8f85c19 Merge pull request #419 from msambol/restapi
Refactor restapi
2015-10-19 11:09:10 +02:00
Leseb 913241d562 Merge pull request #416 from msambol/refactor_osd
Refactor osd role
2015-10-19 11:07:07 +02:00
Michael Sambol ef768fa3a2 Refactor restapi 2015-10-18 22:28:48 -05:00
Michael Sambol dedb7cfd96 Refactor rgw 2015-10-18 22:19:44 -05:00
Michael Sambol 975c8fcfab Refactor mds 2015-10-18 21:56:02 -05:00
Michael Sambol 48b1cf3be2 Refactor osd role 2015-10-18 20:24:47 -05:00
Michael Sambol e424966cbf Refactor ceph monitor role 2015-10-18 20:08:06 -05:00
Bill Sanders ac06e22cb6 Changed URL for Ceph release and developer GPG keys, because previous key URL suffers sporadic timeouts 2015-10-16 13:27:21 -07:00
Ben England 038b26fa7a fix regex syntax for alternative device types 2015-10-09 06:40:57 -04:00
Ben England 543e4cb244 partition number should be at end of string for any device type 2015-10-07 12:50:42 -04:00
Ben England 90d47f77a2 fix regex for partition names, enhance for NVM 2015-10-07 11:40:10 -04:00
Emilien Mantel bd7d776e3b Fix and improve checks when ceph_origin == 'distro' 2015-09-21 18:04:19 +02:00
Sébastien Han e0c588ef4d Use new signed key for packages
See:
http://ceph.com/releases/important-security-notice-regarding-signing-key-and-binary-downloads-of-ceph/

Signed-off-by: Sébastien Han <sebhan@cisco.com>
2015-09-18 08:47:05 +02:00
Leseb 8a5bf6bcf7 Merge pull request #402 from msambol/refactor_ceph_common
Update ceph-common styling
2015-09-04 11:47:06 +02:00
Michael Sambol 66259dc1c9 Refactor ceph-common, adjust styling 2015-09-03 21:09:33 -05:00
Marc Heckmann e279055a3b Support setting the "mon pg warn max object skew" in ceph.conf
It should be used to disable health warnings about number of PGs
being too low if some pools have very few objects bringing down
the average number of objects per pool. This happens when running RadosGW.

The default is 10 and since the warnings only occur with some use cases,
the default here is 10 as well. Set to 20 or more to silence the warnings.
2015-09-03 17:08:51 -04:00
Sébastien Han 5849579fa7 Do not check for devices when device autodetect
Closes: #399

Signed-off-by: Sébastien Han <seb@redhat.com>
2015-09-02 14:19:19 +02:00
Abhishek Varshney d87fbdfffd fixing sysctl command to take whitespace-separated multi values for a key 2015-09-02 12:50:03 +05:30
Leseb 00bca9a535 Merge pull request #394 from ti-mo/master
Enable optional-rpms on official RHEL for yum-plugin-priorities
2015-09-01 17:03:08 +02:00
Timo Beckers e0ebd05565 Enable optional-rpms on official RHEL for yum-plugin-priorities 2015-09-01 16:59:52 +02:00
Sébastien Han 0cbc81622f Get Ceph from distro repository (redhat-based)
Follow up on #392

Signed-off-by: Sébastien Han <seb@redhat.com>
2015-08-31 15:25:42 +02:00
Leseb 0410f6a258 Merge pull request #389 from AcalephStorage/fix-for-different-monitor-interfaces
Fix for error when the nodes don't have the same interface name.
2015-08-31 14:27:17 +02:00
Leseb d1c8c46bf1 Merge pull request #392 from HanXHX/apt-origin
Get Ceph from distro repository (debian-based)
2015-08-31 14:24:12 +02:00
Emilien Mantel b99355839a Remove capital letters 2015-08-31 14:23:20 +02:00
dexter dd65c5ebb1 use hostvars for monitor interface in ceph.conf if available, else, fallback to just the plain monitor_interface var 2015-08-28 00:41:15 +08:00
Matt Thompson afc934d22a Make fetch directory configurable
Currently, the fetch directory is created in your working directory
(where ansible is run from).  We prefer to not keep any state in this
directory and would prefer to have the fetch directory configurable so
we can store it outside of our code checkout.

This commit creates a new variable in each role called
`fetch_directory` (defaulting to the previous value of 'fetch/'), and
then updates each reference to 'fetch' to use the new variable instead.

Closes issue #383
2015-08-27 16:49:50 +01:00
Emilien Mantel b187393a93 Get Ceph from distro repository (debian-based) 2015-08-27 11:26:54 +02:00
git-harry f60179e33f Prevent failure from race creating fetch directory
When multiple monitor hosts attempt to create the fetch directory there
is the potential for the task to fail with:

  "OSError: [Errno 17] File exists: 'fetch'"

This appear to be an issue with the file module trying to create the
same directory at the same time when the tasks has been delegated to a
single host.

This commit enables run_once on the affected task which should address
the issue.
2015-08-26 10:49:22 +01:00
Sébastien Han b3c7c36299 Make package dependencies configurable
Closes: #386 and #384

Signed-off-by: Sébastien Han <seb@redhat.com>
2015-08-26 11:21:24 +02:00
dexter a39bd9f2a6 missing quotes. :( 2015-08-26 16:31:01 +08:00
dexter 873c5cffb2 Fix for error when the nodes don't have the same interface name.
This is a rare case but it happens. Since we're just calling
`monitor_interface` and not `hostvars[host]['monitor_interface'],
an error may occur when the current host's interface does not
exist on the other hosts. (eg. eth0 exists for node0, but it does
not exist on node1 and node2)

Fix for this is to use hostvars[host]['monitor_interface']
2015-08-26 16:11:21 +08:00
Michael Sambol d1628a2d28 item.2 changes to item.1 2015-08-17 12:30:03 -05:00
Michael Sambol f132188658 Remove parition check from ceph-osd role
I'm removing the ceph paritition check from `activate osd(s) when device
is a disk` because the ceph parition does not exist when parted was
registered (on a fresh install). This was causing the activate step to
be skipped.
2015-08-17 11:14:06 -05:00
Leseb 861d7296ef Merge pull request #381 from git-harry/openstack-pg-num
Allow configurable pg_num for OpenStack pools
2015-08-17 17:45:50 +02:00
git-harry 835951b3d0 Allow configurable pg_num for OpenStack pools
Currently the OpenStack pools that get created use the default pg_num.
This commit updates the ceph-mon role to allow the pg_num for each pool
to be customised.
2015-08-17 16:14:26 +01:00
Abhishek Varshney e142c21776 removed when condition in ceph-create-keys 2015-08-17 18:59:14 +05:30
Andy McCrae 942f914b84 Check to ensure device checks only happen on osds
Add bool for osd_group_name in group_names for osd checks.
2015-08-17 12:45:20 +01:00
Sébastien Han 476c5df38f Use latest packages
Fix back the rolling update playbook.
However every single time the playbook will run it will check for new
packages and install the latest ones. I don't think this is always the
desired behaviour. We need to find a way to conciliate both...

Signed-off-by: Sébastien Han <seb@redhat.com>
2015-08-17 11:28:20 +02:00
Andy McCrae 25a45332f3 Fix devices check for raw_multi_journal
Fix the logic for the mandatory devices check so that it applies to
raw_multi_journal and journal_collocation scenarios separately.

This fails otherwise because whichever var is "first" in the or is most
likely undefined.
2015-08-14 15:43:10 +01:00
Leseb 6fa7038ab1 Merge pull request #371 from msambol/revert-367-stat_module
Revert "Use stat module instead of shell"
2015-08-07 09:51:59 +02:00
Leseb d11870cd8d Merge pull request #368 from msambol/ceph_common_readme
Update ceph-common readme
2015-08-07 09:41:25 +02:00
Michael Sambol c187e1ff83 Revert "Use stat module instead of shell" 2015-08-07 00:07:51 -05:00
Sébastien Han 0496a3e0d4 Remove zap variables
Signed-off-by: Sébastien Han <seb@redhat.com>
2015-08-06 17:34:25 +02:00
Sébastien Han 68248a266b Remove the disk zap function
This will likely one day or another break something. If ceph-disk
complains about a disk just use the purge-cluster.yml playbook first as
it will wipe all the devices.

Signed-off-by: Sébastien Han <seb@redhat.com>
2015-08-06 17:24:21 +02:00
Michael Sambol 4661dc86fd Update ceph-common README 2015-08-06 09:29:30 -05:00
Michael Sambol 36052b15fb Update ceph-common README 2015-08-06 09:27:52 -05:00
Michael Sambol 6b5f278da1 Update ceph-common README 2015-08-06 08:15:42 -05:00
Michael Sambol 0342bc7fcc Update ceph-common README 2015-08-06 08:13:46 -05:00
Michael Sambol 4531b67a4f Use stat module instead of shell 2015-08-05 23:06:09 -05:00
Sébastien Han f671e91e61 Fix the sudoer template
+ cleanup the docker.yml from OSD.

Signed-off-by: Sébastien Han <seb@redhat.com>
2015-08-03 23:53:08 +02:00
Sébastien Han 7ed67f37d8 Remove rgw installation from the ceph-rgw role
The installation of rgw is now handled by the ceph-common role.
Fixes: #307

Signed-off-by: Sébastien Han <seb@redhat.com>
2015-08-03 22:17:43 +02:00
Michael Sambol 32c149d4f5 Verify only one osd scenario 2015-07-31 22:02:05 -05:00
Sébastien Han b47344fdd4 Cleanup and change_when watch
Signed-off-by: Sébastien Han <seb@redhat.com>
2015-07-30 11:33:08 +02:00
Sébastien Han ecc92768b9 Expose rgw ports
The 'ports' option was missing, so in order to expose a port we need
"expose" and "ports" options.

Signed-off-by: Sébastien Han <seb@redhat.com>
2015-07-30 11:25:46 +02:00
Michael Sambol e6f22b948c Failed_when instead of ignore_errors
Changed ignore_errors to failed_when so the output doesn't show in
red.
2015-07-29 13:35:46 -05:00
Sébastien Han 3b32abee4d Fix dummy mistakes with variables
Signed-off-by: Sébastien Han <seb@redhat.com>
2015-07-28 22:10:14 +02:00
Sébastien Han 4408a8d514 Re-arrange docker invocation and fix bootstrap restapi
Signed-off-by: Sébastien Han <seb@redhat.com>
2015-07-28 17:57:58 +02:00
Sébastien Han 7184d21af5 Re-arrange docker invocation and fix bootstrap rgw
Signed-off-by: Sébastien Han <seb@redhat.com>
2015-07-28 17:46:56 +02:00
Sébastien Han fea0cc87ec Re-arrange docker invocation and fix bootstrap mds
Signed-off-by: Sébastien Han <seb@redhat.com>
2015-07-28 17:25:53 +02:00
Sébastien Han 0508cfea86 Fix the conntrack_max
Fixes: https://github.com/ceph/ceph-docker/issues/19

Signed-off-by: Sébastien Han <seb@redhat.com>
2015-07-28 16:48:21 +02:00
Sébastien Han 6d0e8777e2 Re-arrange docker invocation and fix bootstrap
Signed-off-by: Sébastien Han <seb@redhat.com>
2015-07-28 16:05:35 +02:00
Leseb 8d323742c7 Merge pull request #346 from ceph/fix-multi-mon-docker
Fix multi-mon docker deployment
2015-07-28 15:55:42 +02:00
Sébastien Han f0600d7561 Re-arrange docker monitor directory for clarity
Signed-off-by: Sébastien Han <seb@redhat.com>
2015-07-28 15:44:52 +02:00
Sébastien Han 329e4e4793 Add customisable env variables
Now we can easily pass new variables to bootstrap the container.

Signed-off-by: Sébastien Han <seb@redhat.com>
2015-07-28 15:32:58 +02:00
Sébastien Han 69ae08b8d7 Fix multi-mon docker deployment
We can now deploy 3 mons on 3 different hosts.

Signed-off-by: Sébastien Han <seb@redhat.com>
2015-07-28 15:18:59 +02:00
Matt Thompson b12d3374e4 Define dependencies in ceph-common's meta/main.yml
I'm currently getting a KeyError due to missing 'dependencies' on this
role when I attempt to install it with ansible-galaxy (ansible 1.9.2).
This commit simply defines an empty dependencies list so that
ansible-galaxy executes correctly.
2015-07-28 10:48:07 +01:00
Leseb 826e247c3e Merge pull request #343 from ceph/fix-rgw-template
Fix templates file path
2015-07-28 10:05:38 +02:00
Sébastien Han 220e07e842 Fix wrong condition
We obviously want to fetch when the files exists :).

Signed-off-by: Sébastien Han <seb@redhat.com>
2015-07-27 17:48:04 +02:00
Sébastien Han 07bd04c851 Fix pip module invocation
Signed-off-by: Sébastien Han <seb@redhat.com>
2015-07-27 17:41:58 +02:00
leseb 18fd87795f Fix templates file path
fixes: #342

Signed-off-by: leseb <seb@redhat.com>
2015-07-27 13:27:21 +02:00
leseb 2cb0fab421 Add contribution note
Signed-off-by: leseb <seb@redhat.com>
2015-07-25 11:10:39 +02:00
Leseb 888ea92854 Merge pull request #340 from ceph/add-readmes
Add READMEs for each roles
2015-07-25 10:55:04 +02:00
leseb d84159bdb3 Add READMEs for each roles
Galaxy here we are!

Signed-off-by: leseb <seb@redhat.com>
2015-07-25 10:51:53 +02:00
Andrew F. Ly 76d2cd381d Create a local fetch directory if it doesn't exist 2015-07-24 22:10:39 -05:00
leseb 08add29d92 Modify the repo to host reoles on the galaxy
Signed-off-by: leseb <seb@redhat.com>
2015-07-24 18:14:59 +02:00
Leseb 1c683a9366 Merge pull request #336 from ceph/re-arrange-dir
Re-arrange roles
2015-07-24 16:25:42 +02:00
leseb f1e6b0216d Re-arrange roles
Trying to add more clarity in the role's task structure.

Signed-off-by: leseb <seb@redhat.com>
2015-07-24 14:50:32 +02:00
leseb 518785d113 Fix ceph version return code issue
fixes: #258

Signed-off-by: leseb <seb@redhat.com>
2015-07-24 12:36:45 +02:00
leseb 7bb28afdd8 First steps to Ansible Galaxy
Signed-off-by: leseb <seb@redhat.com>
2015-07-23 11:45:19 +02:00
leseb 1112cf5431 Add primary affinity option
Signed-off-by: leseb <seb@redhat.com>
2015-07-20 14:48:58 +02:00
leseb 5fc4d846a6 Do not track fetch directory
Signed-off-by: leseb <seb@redhat.com>
2015-07-17 18:14:12 +02:00
leseb c8edb29909 Fix monitor key generation
Signed-off-by: leseb <seb@redhat.com>
2015-07-17 15:26:38 +02:00
leseb 444837e9ae Do not change while checking
Signed-off-by: leseb <seb@redhat.com>
2015-07-17 14:34:44 +02:00
leseb c27450ff40 Generate initial monitor key dynamically
Cool stuff :). We don't need to specify an initial monitor key anymore.
A key will automatically be generated.

The default key can always be overriden with the `monitor_secret`
variable.

Signed-off-by: leseb <seb@redhat.com>
2015-07-17 11:58:50 +02:00
leseb b6d5c6634f Add support for image format
By default, we want to use format 2.
This closely works with rbd features as well.

Signed-off-by: leseb <seb@redhat.com>
2015-07-08 14:21:16 +02:00
leseb 4b63bb92ba Fix variable
Should have looked at Travis this time...

Signed-off-by: leseb <seb@redhat.com>
2015-07-08 11:17:27 +02:00
leseb 9831da7510 Re-use public network for private network
We don't always have a dedicated cluster network so we can by default
re-use the public network value.
This is just laziness :).

Signed-off-by: leseb <seb@redhat.com>
2015-07-07 18:18:47 +02:00
leseb afe10d4e53 Disable monitors complain about low pgs per osd
Also add a bunch of option that weren't activated before...

Signed-off-by: leseb <seb@redhat.com>
2015-07-07 17:55:05 +02:00
leseb fd2515f9c5 Activate rgws on rhel7
Signed-off-by: leseb <seb@redhat.com>
2015-07-07 17:41:28 +02:00