Andrew Schoen [Mon, 5 Jun 2017 15:51:47 +0000 (10:51 -0500)]
ceph-mon: fix support for ipv6 on containerized mons
The fact ['ansible_$interface']['ipv4'] is a dictionary where
['ansible_$interface']['ipv6'] is a list. If we use
ansible_default_ipv6|ipv4 is is always a dictionary which allows us to
get the ipv6 and ipv4 address without adding more complexity to the
template.
Andrew Schoen [Thu, 25 May 2017 12:30:25 +0000 (07:30 -0500)]
purge-docker-cluster: default raw_journal_devices to []
If we're purging a containerized cluster that did not use the
raw_multi_journal OSD scenario then raw_journal_devices will not be
defined which causes the playbook to fail.
Sébastien Han [Tue, 11 Apr 2017 10:10:55 +0000 (12:10 +0200)]
mon: fix with_items being evaluated before when
Ansible evaluates the 'with_items' before the 'when' so if the inventory
does not have the group declared it'll fail. To fix this, we set an
empty array to make the with_items happy and then evaluate with the
'when'.
Signed-off-by: Sébastien Han <seb@redhat.com>
(cherry picked from commit 05331a26348e162e4083131d2a259f6c983f3ec9) Signed-off-by: Sébastien Han <seb@redhat.com>
Sébastien Han [Mon, 22 May 2017 07:38:08 +0000 (09:38 +0200)]
rolling-update: set/unset flags on the right container
Problem: we are delegating the set/unset flag to a monitor node but we
try to call an osd container
Solution: use the right container name.
Signed-off-by: Sébastien Han <seb@redhat.com>
(cherry picked from commit 90389864d8d7cc8d426ef7c8687eeb43db92406e) Signed-off-by: Sébastien Han <seb@redhat.com>
Sébastien Han [Tue, 23 May 2017 10:02:24 +0000 (12:02 +0200)]
common: remove useless check
We only check for everything expect 'distro' because that
is a valid way of deploying RHCS, with preprepared repos
present on the nodes.
Signed-off-by: Sébastien Han <seb@redhat.com>
(cherry picked from commit 468dc06bcd9fa9acd7b3baf55295e160679abf4b) Signed-off-by: Sébastien Han <seb@redhat.com>
Sébastien Han [Mon, 22 May 2017 12:18:45 +0000 (14:18 +0200)]
common: fix installation condition
Problem: we could end up in situation where we would install a package
on a machine that does not have the right repo enabled. Because the
condition was set to OR we weren't pinning a particular host but just a
condition. Let's say someone sets 'ceph_origin == "distro"', this would
try to install OSD packages on Monitors.
Solution: use a AND condition to first pin to the group_name (which
identifies a set of hosts) AND then after this one of the installation
condition.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1453119 Co-Authored-By: https://github.com/zhsj Signed-off-by: Sébastien Han <seb@redhat.com>
(cherry picked from commit f7e9585a2c9978faaeb99b3b8adcd1a2c58b72b4) Signed-off-by: Sébastien Han <seb@redhat.com>
Sébastien Han [Fri, 19 May 2017 08:37:31 +0000 (10:37 +0200)]
common: explicitly set rhel os version support
Clarify in the error message that only RHEL version >= 7.3 are
supported.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1452431 Signed-off-by: Sébastien Han <seb@redhat.com>
(cherry picked from commit 8ad503b2488c1b9544165fa53c01e27d85af17ab) Signed-off-by: Sébastien Han <seb@redhat.com>
Andrew Schoen [Wed, 3 May 2017 14:11:52 +0000 (09:11 -0500)]
ceph-common: add luminous to ceph_release_num
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
(cherry picked from commit 471cdb0c3999b375f2891472d4645eea5f4d7051) Signed-off-by: Sébastien Han <seb@redhat.com>
Sébastien Han [Thu, 18 May 2017 09:56:55 +0000 (11:56 +0200)]
mon: do not hardcode ipv4
Problem: fail to deploy a containerized Ceph cluster with ipv6
Solution: do not hardcode ipv4 when bootstrapping the container.
Now use ip_version: ipv6 to get a containerized cluster deployed with
ipv6.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1451786 Signed-off-by: Sébastien Han <seb@redhat.com>
(cherry picked from commit c7aae7f965758eb08a806fc7be75d8075884b733) Signed-off-by: Sébastien Han <seb@redhat.com>
Sébastien Han [Mon, 15 May 2017 13:49:45 +0000 (15:49 +0200)]
generate_group_vars_sample: ability to merge roles
Problem: the meta declaration just includes the role, it does nothing
with the group_vars. For ansible to use files defined in group_vars/ the
name of the file must match a host group. Like mons, osds, etc. There is
no group docker-common so the variables defined there are never used, as
proved by https://bugzilla.redhat.com/show_bug.cgi?id=1447179 and the
ansible documentation.
Solution: bring the ability to merge roles files. So now by default,
ceph-docker-common and ceph-common will go into all.yml.sample
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1447179 Signed-off-by: Sébastien Han <seb@redhat.com>
(cherry picked from commit a8c75c3bc9bd7211483f54cd98a99c95f69e7958) Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
Sébastien Han [Thu, 11 May 2017 06:57:53 +0000 (08:57 +0200)]
ansible: shorten default control_path
Default ansible control_path option is too long, so we shorten it by
changing the ansible.cfg file.
For more info see: https://github.com/ansible/ansible/issues/11536 Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1447569 Signed-off-by: Sébastien Han <seb@redhat.com>
(cherry picked from commit 0e931d2bce1030fcec9121a8dba70009cff83403) Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
Sébastien Han [Thu, 11 May 2017 06:57:53 +0000 (08:57 +0200)]
ansible: shorten default control_path
Default ansible control_path option is too long, so we shorten it by
changing the ansible.cfg file.
For more info see: https://github.com/ansible/ansible/issues/11536 Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1447569 Signed-off-by: Sébastien Han <seb@redhat.com>
(cherry picked from commit 0e931d2bce1030fcec9121a8dba70009cff83403) Signed-off-by: Sébastien Han <seb@redhat.com>
Sébastien Han [Tue, 25 Apr 2017 08:10:09 +0000 (10:10 +0200)]
ansible: add logging path
Ability to log ansible plays in a log file. Default location is
/var/log/ansible.log
Be sure the user running Ansible has permissions on the logfile.
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1445065 Signed-off-by: Sébastien Han <seb@redhat.com>
(cherry picked from commit 6a69fa9495ffaf16d9aa5b862751ceb2c87bdc8f) Signed-off-by: Sébastien Han <seb@redhat.com>
Ali Maredia [Wed, 10 May 2017 17:00:41 +0000 (13:00 -0400)]
rgw: move default bucket quota conf vars to global
"rgw override bucket index max shards" and
"rgw bucket default quota max objects" were in the
client section of the ceph.conf and not being
applied, this commit moves them to global
Andrew Schoen [Tue, 2 May 2017 16:15:23 +0000 (11:15 -0500)]
tests: switch to using key/value extra-vars instead of json
I continue to have issues with extra-vars as json. The latest issue
being that the ceph_docker_image_tag config option included in the json
was being ignored. I can't find the root cause, by using the key/value
format seems to work.
I've also removed several options here to simply the interface. We can
add those back if they become necessary.
Sébastien Han [Mon, 24 Apr 2017 09:04:06 +0000 (11:04 +0200)]
mon: upgrade calamari when running rolling_update playbook
Prior to this change, ansible was only checking for the existence of the
package, now if upgrade_ceph_packages is true this means we are
performing an upgrade.
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1442016 Signed-off-by: Sébastien Han <seb@redhat.com>
(cherry picked from commit 84d96be197617ff8cdf8141e4a52657f172b2809)
Andrew Schoen [Wed, 12 Apr 2017 12:53:49 +0000 (07:53 -0500)]
tests: set needed config in group_vars/all for rhcs testing
Instead of relying on environment variables and --extra-vars simply
modify the group_vars/all that ships with the specific testing scenario
to enable ceph_rchs testing.
Andrew Schoen [Wed, 12 Apr 2017 12:50:41 +0000 (07:50 -0500)]
tests: remove CEPH_STABLE environment variable
I'm removing this because when we use an 'rhcs' scenario then we attempt
to set CEPH_STABLE=false as an environment variable. The issue with that
is because the value is coming from an environment variable it is always
treated as a string and ansible treats that as a boolean True. I plan to
set the ceph_stable value with our rhcs_setup.yml playbook instead of
relying on ---extra-vars and environment variables.
Related ansible issue: https://github.com/ansible/ansible/issues/17193
Sébastien Han [Thu, 16 Mar 2017 09:17:08 +0000 (10:17 +0100)]
mgr: add new role for ceph-mgr
The Ceph Manager daemon (ceph-mgr) runs alongside monitor daemons, to
provide additional monitoring and interfaces to external monitoring and
management systems.
Only works as of the Kraken release.
Co-Authored-By: Guillaume Abrioux <gabrioux@redhat.com> Signed-off-by: Sébastien Han <seb@redhat.com>