Peter Jenkins [Wed, 14 Jun 2017 07:44:13 +0000 (10:44 +0300)]
Bluestore: Omit "osd mkfs type" etc from ceph.conf
Remove "osd mkfs type" and the other pre-Bluestore parameters from the
generated ceph.conf so that disk activation on OSDs will work. The
current default xfs config results in a failed deployment and
incorrect partition metadata.
Sébastien Han [Mon, 12 Jun 2017 12:38:10 +0000 (14:38 +0200)]
ceph-mon: fix get rbd size hanging
For newly created cluster the command: ceph --cluster {{ cluster }} osd
pool get rbd size does not respond properly.
We only want to check if the rbd pool exists, so we know use an ls |
grep approach.
Closes: https://github.com/ceph/ceph-ansible/issues/1547 Signed-off-by: Sébastien Han <seb@redhat.com>
Common: Add a default for ceph_docker_on_openstack
Add a default value for `ceph_docker_on_openstack` to avoid a
conditional check error for the task `pause after docker install before starting` in
`roles/ceph-docker-common/tasks/pre_requisites/prerequisites.yml`
Andrew Schoen [Tue, 6 Jun 2017 14:04:58 +0000 (09:04 -0500)]
remove ceph-iscsi-gw play from site.yml.sample
We ship ceph-iscsi-gw in a separate repo downstream and do not package
it with ceph-ansible. Including the play for ceph-iscsi-gw in
site.yml.sample makes the playbook fail when using the downstream
packages.
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1454945 Signed-off-by: Andrew Schoen <aschoen@redhat.com>
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 [Fri, 2 Jun 2017 12:42:34 +0000 (07:42 -0500)]
purge-docker-cluster: include ceph_docker_registry
We need to include ceph_docker_registry when removing containers/images
because if we don't it will assume docker.io which is not always where
the image originated from, causing the playbook to fail.
For some reason we changed the check of pgs but it appears it could be
dangerous because the current check might satisfied as long as 1 PG is
active+clean.
since `-e CEPH_DAEMON=OSD_CEPH_DISK_ACTIVATE` is already hardcoded in
`eph-osd-run.sh.j2` there is no need to add `-e
CEPH_DAEMON=OSD_CEPH_DISK_ACTIVATE` as a default value in defaults vars.
mh [Tue, 30 May 2017 16:25:29 +0000 (18:25 +0200)]
keep port as part of the control path
On a Vagrant setup, every host is 127.0.0.1 and every user is vagrant.
To not have ansible do the same stuff on the same machine (the one
we connected first), we should keep the port as part of the
control path.
Also this helps in setups where different hosts might be hidden
behind the same IP, but on different ports (e.g. using DNAT).
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.
`ceph-docker-common`:
At the moment there is a lot of duplicated tasks in each
`./roles/ceph-<role>/tasks/docker/main.yml` that could be refactored in
`./roles/ceph-docker-common/tasks/main.yml`.
`*_containerized_deployment` variables:
All `*_containerized_deployment` have been refactored to a single
variable `containerized_deployment`
duplicate `cephx` variables in `group_vars/* have been removed.
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>
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>
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>
Ken Dreyer [Wed, 10 May 2017 17:08:33 +0000 (11:08 -0600)]
rpm: do not package coreos-related files
These are unnecessary on RPM-based platforms, and it makes it harder to
audit the RPM-packaged files for security when we ship things that are
unneeded.
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