Andrew Schoen [Mon, 7 Mar 2016 20:50:05 +0000 (14:50 -0600)]
find the rhcs version right before setting is_ceph_infernalis
Where it was located before meant it might be skipped if you don't run
tasks with the package-install tag. This fixes the situation where you
want to configure an rhcs node, but do not want to do any package
installs.
Sébastien Han [Wed, 2 Mar 2016 11:00:51 +0000 (12:00 +0100)]
wip: galaxy roles dependencies
in order to have a build on the galaxy we need to have a proper
dependency set for ceph-common. On the galaxy ceph-common does not
exist, only ceph.ceph-common is available.
Sébastien Han [Tue, 1 Mar 2016 10:38:59 +0000 (11:38 +0100)]
ceph-common: allow usage of fqdn for mon/mds
this commit introduces the ability to use fqdn for mon/mds name while
generation the ceph.conf file from the template.
Simply turn mon_use_fqdn and or mds_use_fqdn to true to use FQDN.
Chris St. Pierre [Mon, 29 Feb 2016 15:35:07 +0000 (09:35 -0600)]
Generate group_vars samples automagically
This adds a script, generate_group_vars_sample.sh, that generates
group_vars/*.sample from roles/ceph-*/defaults/main.yml to avoid
discrepancies between the sets of files. It also converts the line
endings in the various main.yml from DOS to Unix, since generating the
samples was spreading the line ending plague around to more files.
Chris St. Pierre [Mon, 29 Feb 2016 17:58:20 +0000 (11:58 -0600)]
Fix pre-infernalis RBD client directory mode
0644 should never be a directory mode. 1777 makes it so that any user
can create a ceph client, not just root. (This is helpful if, for
instance, nova-compute is running as non-root.)
Chris St. Pierre [Fri, 26 Feb 2016 21:39:27 +0000 (15:39 -0600)]
Fix openstack config skipping
Previously, creating pools was skipped if cephx was disabled; instead,
we should only skip key creation if cephx is disabled, and create
pools any time openstack_config is true.
Chris St. Pierre [Thu, 25 Feb 2016 16:29:12 +0000 (10:29 -0600)]
Add option to skip generating fsid
If using another method to generate a consistent fsid, then we can
skip creation of an (unused) cluster UUID file. If cephx is disabled
as well, we can skip creation of the fetch directory entirely.
Chris St. Pierre [Thu, 25 Feb 2016 13:57:50 +0000 (07:57 -0600)]
Skip keyring tasks when cephx is disabled
Skip a number of ceph keyring-related tasks (or remove the keyring
portion of some tasks) when cephx is disabled. Specifically, avoid
generating the initial keyring, which only clutters up the ansible
repo if cephx is not in use.
Sébastien Han [Thu, 25 Feb 2016 11:04:17 +0000 (12:04 +0100)]
ceph-: abitlity to copy admin on all the nodes
This commit allows you to set a new variable to 'true' if you want to
have ceph admin key copied over different kind of hosts such as MDS,
OSD, RGW. To enable this just set `copy_admin_key` to true.
Closes: #555 Signed-off-by: Sébastien Han <seb@redhat.com>
Chris St. Pierre [Wed, 24 Feb 2016 16:25:26 +0000 (10:25 -0600)]
Do not prepare skipped disks
When autodiscovering disks, disks can be skipped if either they are
removable, or if they have partitions on them. Skipped actions have no
'rc' attribute, though, so the 'ceph prepare' conditional fails unless
we first check to ensure that the results were not skipped before
checking the return value.
Chris St. Pierre [Tue, 23 Feb 2016 16:27:55 +0000 (10:27 -0600)]
Improve firewall checks
The firewall checks can fail for any number of reasons -- e.g., the
ceph cluster hostnames are unresolvable from the ansible host, or the
ports are filtered by some intermediate hop, etc. Make two changes to
make those checks better:
* Set pipefail when running the checks, so if nmap itself fails the
command will be marked as 'failed'. Specifically, this fixes the
case where the hostnames cannot be resolved.
* Add a new variable, check_firewall, which can be used to disable
checks entirely. Specifically, this fixes the case where some
intermediate firewall filters the ports, so nmap returns "filtered".
Chris St. Pierre [Tue, 23 Feb 2016 17:30:26 +0000 (11:30 -0600)]
Make RHEL installs honor ceph_origin: distro
Installs on RHEL with ceph_origin set to distro previously would fail
because no packages would get installed, but all of the checks passed
fine. This adds support for ceph_origin: distro, simply installing the
packages using yum/dnf and assuming that the sysadmin has provided a
repository containing them.
This also supports the use case where Satellite or a similar local
mirror is in use, and the admin does not or cannot use the additional
repositories the role would otherwise add.
Andrew Schoen [Thu, 18 Feb 2016 15:39:18 +0000 (09:39 -0600)]
a playbook to add an OSD to an existing cluster
The playbook uses the ceph-fetch-keys role to connect to the mons and
retrieve keys for the OSD bootstrapping. Ensure that all your mons for
the cluster you're adding the OSD to is in your inventory in the mons
group. This ensures that a proper ceph.conf is created for the new OSD.
Andrew Schoen [Wed, 17 Feb 2016 22:15:57 +0000 (16:15 -0600)]
Adds a new ceph-fetch-keys role
The purpose of this is so we can connect to the mons and gather the keys
needed to configure an OSD or additonal MON without having to reconfigure
the existing mons at the same time.
Andrew Schoen [Mon, 15 Feb 2016 21:29:06 +0000 (15:29 -0600)]
make mandatory variable checks only apply when needed
In our use case we might only be configuring mons and not osds in the
same call, so we don't want to check variables needed for osds when they
are not needed to configure a mon.