Commit Graph

1158 Commits (e2300d5b1dd5422cb95273c2ec27403f6a7a90f0)

Author SHA1 Message Date
Shengjing Zhu 7e10b0325b add ceph_mirror variable
Closes: #1282

Signed-off-by: Shengjing Zhu <zsj950618@gmail.com>
2017-02-08 13:13:31 +08:00
Andrew Schoen 9580fd974a ceph-common: set ms bind ipv6 = true in ceph.conf when using ipv6
This fixes an issue with parsing the ceph.conf file when ip_version is set to
ipv6.

See: https://bugzilla.redhat.com/show_bug.cgi?id=1419814

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-02-07 12:34:29 -06:00
Sébastien Han 55abf69481 Merge pull request #1267 from ceph/container-systemd
Container systemd
2017-02-03 14:02:53 +01:00
Sébastien Han 2ed93875a9 docker: fix monitor addition on kraken
Probably not the best fix but useful for testing. We will remove this
once we find a better workaround.

Signed-off-by: Sébastien Han <seb@redhat.com>
2017-02-03 11:35:54 +01:00
Sébastien Han 064c57babb Merge pull request #1264 from ceph/clarify-osd-logs
osd: clarify osd scenario prepare sequence
2017-02-02 14:03:12 +01:00
Sébastien Han c4331d87b3 common: ability to disable handler osd health check
Signed-off-by: Sébastien Han <seb@redhat.com>
2017-02-02 11:22:55 +01:00
Sébastien Han 6d5afdfb99 docker: fix restapi key creation with cluster name
Add support for key creation when the cluster name is different than
'ceph'.

Signed-off-by: Sébastien Han <seb@redhat.com>
2017-02-02 09:32:12 +01:00
Sébastien Han cb499a689b docker: fix mkdir path for all the distros
On ubntu systems mkdir is in /bin where on atomic it is /usr/bin/.
We use the shell built-in function "command" to find its right location.

Signed-off-by: Sébastien Han <seb@redhat.com>
2017-02-01 17:19:07 +01:00
Sébastien Han f446b1c82f docker: fail if systemd is not present
Since we treat containers as services using systemd, systemd is an
absolute requirement.

Signed-off-by: Sébastien Han <seb@redhat.com>
2017-02-01 17:18:17 +01:00
Sébastien Han 40709c8336 docker: use systemd to manage container
Since we now only support systemd has an init system we can finally
treat containers as processes using systemd and this for all the
distros.

Signed-off-by: Sébastien Han <seb@redhat.com>
2017-02-01 17:12:46 +01:00
Andrew Schoen 873c044c53 ceph-common: remove absolute path to handler include files
This breaks if the roles don't live in the same place as the playbook.

See: https://github.com/ceph/ceph-ansible/issues/1265

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-02-01 09:22:26 -06:00
Sébastien Han 5578b9bc7b osd: clarify osd scenario prepare sequence
we now use the name of the scenario in the prepare task.

Signed-off-by: Sébastien Han <seb@redhat.com>
2017-02-01 13:59:35 +01:00
Sébastien Han 40a2df5bbf common: serialise host restart
This commits allows us to restart Ceph daemon machine by machine instead
of restarting all the daemons in a single shot.

Rework the structure of the handler for clarity as well.

Signed-off-by: Sébastien Han <seb@redhat.com>
2017-01-31 17:39:51 +01:00
Guillaume Abrioux 76ddcbc271 Remove support of releases prior to Jewel.
According to #1216, we need to simply the code by removing the
support of anything before Jewel.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
2017-01-31 11:00:54 +01:00
Sébastien Han f888cc4e06 Merge pull request #1254 from ceph/osd-dir-exist
Osd dir exist and purge fixes
2017-01-31 08:46:22 +01:00
Andrew Schoen 7dc9c4b5b6 ceph-common: update apt cache in it's own task
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-01-30 17:15:08 -06:00
Sébastien Han 837ca9eaff Merge pull request #1257 from clwells/rgw-restart-handler
Use ansible_hostname instead of ansible_host in handler
2017-01-30 14:38:35 +01:00
Sébastien Han 1149825f8f common: create ceph initial directories
Some users purge their environments and leave it in a non-optimal state.
e.g: packages are still installed but /etc/ceph and /var/lib/ceph don't
exist anymore. This will result in multiple failures across the play,
sometimes hard to detect. Populating these directories "just in case"
should help us solving these problems.

Closes: #1253
Signed-off-by: Sébastien Han <seb@redhat.com>
2017-01-30 14:31:56 +01:00
Sébastien Han 6f53774ee9 osd: make sure osd directory exists
Sometimes users for testing, tend to delete the whole /var/lib/ceph and
then run ansible again, OSD will never come up if we do not create their
directory.

Signed-off-by: Sébastien Han <seb@redhat.com>
2017-01-30 14:31:56 +01:00
Chris Wells 84c322550a
Use hostname instead of host (host can be an IP) and hostname matches the default nomenclature in ceph.conf 2017-01-28 13:09:03 -05:00
Chris Wells 8b2dace29b
Using ini_file with ansible_hostname to ensure each INI block gets the rgw_zone setting in a multi-RGW setup. Also, ansible_hostname better matches what ceph-common does for the actual hostname (ansible_host != ansible_hostname under all conditions). 2017-01-28 12:30:27 -05:00
Sébastien Han e35070f6ce mon: make sure osd_pool_default_size is honoured
This patch makes sure we set the proper pool size on the rbd pool.
Usually during bootstrap the rbd pool size is not honoured so we need to
add this workaround.

Signed-off-by: Sébastien Han <seb@redhat.com>
2017-01-25 22:53:17 +01:00
Andrew Schoen 03cb803bd1 Adds ip_version configuration option
This allows the user to set ip_version to either ipv4 or ipv6. This
resolves a bug where monitor_address is set to an ipv6 address, but the
template fails to render because it's hardcoded to look for an 'ipv4'
key in the ansible facts.

See: https://bugzilla.redhat.com/show_bug.cgi?id=1416010

Signed-off-by: Andrew Schoen <aschoen@redhat.com>

Resolves: bz#1416010
2017-01-24 09:48:55 -06:00
tynorth-cisco 6400989cf2 add unique filter to openstack pool names
could have scenario where different openstack components would
use the same pool, but the logic would create the same pool
more than once

add unique filter to account for this
2017-01-23 11:58:28 -08:00
Andrew Schoen c4161df38b Merge pull request #1146 from ceph/client-pool
mon: pool creation and pgs
2017-01-23 10:17:21 -06:00
Logan V cd50cd8f18 RGW: Add resolve cname configuration parameter
Adds a switch to enable bucket resolution using DNS CNAME provided
by the client's HTTP headers.
2017-01-19 11:15:18 -06:00
Logan V 4941de838c RGW: Add static website hosting configuration 2017-01-19 11:15:18 -06:00
Logan V 6f3a98919c RGW: Allow configurable rgw frontends setting
Allow for more operator flexibility in the `rgw frontends` setting
while maintaining backwards compatibility with the old vars. This
allows an operator to, for example, use the civetweb settings for
implementing SSL ports.

For available civetweb configuration parameters, see:
https://github.com/civetweb/civetweb/blob/master/docs/UserManual.md
2017-01-19 11:15:18 -06:00
Logan V 8edc2663d9 RGW: Add support for usage log configuration
Adds support for configuring the RadosGW usage log described at
http://docs.ceph.com/docs/jewel/man/8/radosgw/#usage-logging.
2017-01-19 11:15:18 -06:00
Andrew Schoen e2a18af5b3 Merge pull request #1227 from Logan2211/resync-group-vars-sample
Remove libcephfs1 from group_vars sample
2017-01-19 09:57:54 -06:00
Sébastien Han 90648e7518 mon: fix mds pool creation
It is not enough to check for the mds to exists, it actually always does
because we declare the variable. So we need to make sure that there is a
mds host.

Signed-off-by: Sébastien Han <seb@redhat.com>
2017-01-19 14:49:09 +01:00
Sébastien Han ddac3a1fb5 mon: pool creation and pgs
Since we introduced config_overrides we removed a lot of options from
the default template. In some cases, like mds pool, openstack pools etc
we need to know the amount of PGs required. The idea here is to skip the
task if ceph_conf_overrides.global.osd_pool_default_pg_num is not define
in your `group_vars/all.yml`.

Closes: #1145

Signed-off-by: Sébastien Han <seb@redhat.com>
Co-Authored-By: Guillaume Abrioux <gabrioux@redhat.com>
2017-01-19 11:30:39 +01:00
Andrew Schoen 2e8cf582f2 ceph-docker-common: adds a README file
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-01-18 11:06:25 -06:00
Andrew Schoen 88a2ddb240 ceph-docker-common: include a meta/main.yml so we can use galaxy
This role needs a meta/main.yml before we can upload it to ansible
galaxy.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-01-18 10:46:48 -06:00
Sébastien Han c6728ca21d Merge pull request #1229 from ceph/docker-fixes
adds a ceph-docker-common role and enables custom registry usage
2017-01-18 14:54:12 +01:00
Musee Ullah 7636d09f92
mon: run ceph-create-keys after startup for kraken release 2017-01-17 22:51:39 +09:00
Andrew Schoen 0c55a35963 ceph-osd: use ceph_docker_registry when preparing OSDs
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-01-16 11:39:13 -06:00
Andrew Schoen 655b8449ae use ceph_docker_registry when starting containers
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-01-16 11:17:41 -06:00
Andrew Schoen 3713824b79 ceph-docker-common: add symlink to ceph.ceph-docker-common
This allows for the role to be used with ansible-galaxy and to fix the
include in all the meta/main.yml files in the roles.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-01-16 10:42:42 -06:00
Andrew Schoen 9449dbf083 use ceph_docker_registry in all the roles instead of docker.io
This allows for ceph-ansible to use other docker registries.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-01-16 10:42:42 -06:00
Andrew Schoen 25277587fa ceph-common: include ceph_docker_registry when fetching the image
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-01-16 09:51:20 -06:00
Andrew Schoen c07b7ddbaa use ceph-docker-common in roles that support docker deployments
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-01-16 09:30:53 -06:00
Andrew Schoen f770780dda ceph-docker-common: a new role to share things common to docker
We can use this to share common variables and tasks needed for every
containerized deployment.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-01-16 09:28:40 -06:00
Logan V c78a3707f1 Remove libcephfs1 from group_vars sample
The libcephfs1 package was removed from ceph-common in
cb1c06901e, however it was not synced
to group_vars/all.yml.sample using the `generate_group_vars_sample.sh`
script. This fixes up the comment formatting in the ceph-common
defaults and brings the group_vars sample back into sync.
2017-01-16 09:15:57 -06:00
Daniel Marks fefaa8ed13 Set empty list as default for osd_directories
As described in issue #1224 leaving this variable undefined may
cause a problem during execution of the ceph-osd role.
2017-01-13 15:27:16 +01:00
Sébastien Han 6ebea0cf42 Merge pull request #1208 from clwells/multisite-defined-endpoint
[rtr] Granular Multi-site PULL Variables
2017-01-10 16:12:04 -05:00
Chris Wells d609dca7a6
Updated pull[port|proto] to pull_[port|proto] and regenerated base group vars 2017-01-07 09:33:24 -05:00
Ken Dreyer 63e5b5c406 ceph-common: always include release.yml
Prior to this change, a playbook run with '--tags' or '--skip-tags'
would fail, because the ceph-common role would not include the
release.yml task, and this file defines critical things like
ceph_release.

Thanks Andrew Schoen <aschoen@redhat.com> for help with the fix.
2017-01-05 14:40:39 -07:00
Sébastien Han cb1c06901e Merge pull request #1171 from cbodley/wip-libcephfs2
bump package version to libcephfs2
2017-01-03 10:48:56 +01:00
Sébastien Han 676d8812f9 Merge pull request #1212 from ceph/cluster-name-info
common: document "cluster" variable usage
2017-01-03 10:18:41 +01:00
Sébastien Han f1308b5f71 Merge pull request #1213 from ceph/cephx-initial-mon
mon: only put mon initial key in mon kv when cephx is enabled
2017-01-02 13:43:22 +01:00
Sébastien Han 468afa2d5b mon: only put mon initial key in mon kv when cephx is enabled
Task put initial mon keyring in mon kv store from
ceph-mon/tasks/ceph_keys.yml is failing when cephx is disabled. The root
cause is that variable monitor_keyring is not populated by any task from
deploy_monitors.yml.

Fixes: #1211

Signed-off-by: Sébastien Han <seb@redhat.com>
2017-01-02 11:16:03 +01:00
Sébastien Han b76d0aceca common: document "cluster" variable usage
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1408848

Signed-off-by: Sébastien Han <seb@redhat.com>
2017-01-02 09:20:43 +01:00
Shengjing Zhu 93a8b69a57 fix check nmapexist on debian
command is a shell-buitin, so `command -v nmap` must use shell module

Signed-off-by: Shengjing Zhu <zsj950618@gmail.com>
2016-12-28 16:21:23 +08:00
Chris Wells 5f37ae9d1f
Allowing granular control of the pull host/port/protocol for installs where SSL/443 is used and direct civetweb access isn't necessarily available. 2016-12-25 21:54:13 -05:00
Sébastien Han d44927de03 common: rename rh_storage to rhcs to match product name
Signed-off-by: Sébastien Han <seb@redhat.com>
2016-12-20 13:49:11 +01:00
Sébastien Han 775d61ed09 common: enable tool repo for mds install of rhcs
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1405985

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-12-20 13:42:24 +01:00
tynorth-cisco 704b49ba33 use monitor name, not host ansible host in ceph.conf
in ceph-common there is a fact check for monitor name
that will set it to ansible_host or ansible_fqdn
2016-12-19 12:33:38 -08:00
Sébastien Han fd4fb8d5b2 Merge pull request #1199 from Logan2211/fix-mon-fsid-block
Workaround for broken 'block' syntax
2016-12-19 11:30:58 +01:00
Andrew Schoen 99d66e09d9 Merge pull request #1153 from ceph/cluster-name-test
test: add cluster name support test scenario
2016-12-16 13:10:52 -06:00
Sébastien Han 2d8ac4a586 docker: only use systemd to manage containers
Prior to this patch we had several ways to runs containers, we could use
ansible's docker module on some distro and on containers distros we were
using systemd. We strongly believe threating containers as services with
systemd is the right approach so this patch generalizes to all the
distros. These days most of the distros are running systemd so it's fair
assumption.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-12-16 19:37:05 +01:00
Logan V ffc89ee95f Workaround for broken 'block' syntax
The block syntax in ansible is broken on 2.1 so we work around the
issue introduced in 471be5e by using a task file include.
2016-12-16 09:24:48 -06:00
Sébastien Han ce7431a227 docker: add support for cluster name
We need to honour the cluster name that was chosen by ceph-ansible and
pass it to ceph-docker.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-12-16 14:31:21 +01:00
Sébastien Han dcd94f6c52 Merge pull request #1179 from Logan2211/rgw-keystone-v3
RGW/Keystone integration improvements
2016-12-16 13:52:52 +01:00
Sébastien Han 608b008a95 mon: add the initial mon keyring to the mon store
Once we have our first monitor up and running we need to add it to the
monitor store as a safety measure. Just in case the local file gets
deleted and you need to add a new monitor. Now you can retrieve this key
like this:

ceph config-key get initial_mon_keyring > initial_mon_keyring.txt

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-12-16 11:54:02 +01:00
Sébastien Han 6c71cf5b10 common: do not become root on local task
There is no need to become root on local_action. This will event trigger
an error on some systems as it will try to run a sudo command. If the
current user does not have passwordless sudo, Ansible will fail. Anyway
using the current user is perfectly fine and no elevation privilege is
needed.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-12-16 11:42:07 +01:00
Logan V cccdb2ab13 Add support for Keystone v3 API
The Keystone v2 APIs are deprecated and scheduled to be removed in
Q release of Openstack. This adds support for configuring RGW to
use the current Keystone v3 API.
2016-12-15 17:17:41 -06:00
Logan V aa0bfaa89a Add a switch to disable nss PKI database initialization
The PKI keys are used to decrypt the Keystone revocation list when
PKI tokens are used. When UUID or Fernet token providers are used in
Keystone, PKI certs may not exist, so we now accommodate this scenario
by allowing the operator to disable the PKI tasks.
2016-12-15 17:17:41 -06:00
Logan V 12f8b5c38e Add support for Keystone user authentication with RGW
Jewel added support for user/pass authentication with Keystone,
allowing deployers to disable Keystone admin token as required
for production deployments.

This implements configuration for the new RGW Keystone user/pass
authentication feature added in Jewel.

See docs here: http://docs.ceph.com/docs/master/radosgw/keystone/
2016-12-15 17:17:37 -06:00
Sébastien Han faabfdcefe Merge pull request #1178 from zhsj/dev-partition
Add prepare osd with partition devices in raw_multi_journal
2016-12-15 22:50:23 +01:00
Sébastien Han fbeacb325c Merge pull request #1192 from davidebelloni/master
Adding Proxy support
2016-12-15 17:38:38 +01:00
Davide Belloni 87373e75d9 Adding Proxy support 2016-12-15 15:28:59 +01:00
Sébastien Han f0687995e1 common: add the name of the ceph conf file in the play
Just for clarity and because we can we now show the name of the
ceph configuration file that is generated.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-12-15 15:26:01 +01:00
Sébastien Han 03f7de68a9 Merge pull request #1167 from guits/ceph-fsid
common: do not regenerate initial mon keyring if cluster exists
2016-12-15 15:16:40 +01:00
Shengjing Zhu a1b00e96db enable prepare osd with partition devices in raw_multi_journal
Address #895

Signed-off-by: Shengjing Zhu <zsj950618@gmail.com>
2016-12-15 22:03:38 +08:00
Sébastien Han 81baa6bb73 osd: docker change required variables for check
when running a containerized deployment, some variable are not
applicable thus should not be checked.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-12-15 14:50:29 +01:00
Guillaume Abrioux 471be5e629 common: do not regenerate initial mon keyring if cluster exists
This commit solves the situation where you lost your fetch directory and
you are running ansible against an existing cluster. Since no fetch
directory is present the file containing the initial mon keyring
doesn't exist so we are generating a new one.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
2016-12-15 14:39:56 +01:00
Shengjing Zhu c50b5867a6 fix ceph-rest-api not using correct configure file
Signed-off-by: Shengjing Zhu <zsj950618@gmail.com>
2016-12-15 20:23:36 +08:00
Sébastien Han 245a556c5e Merge pull request #1186 from ceph/apt-pining
common: set apt pinning with Red Hat Ceph Storage
2016-12-15 12:28:45 +01:00
Sébastien Han f6736e5420 common: show which file we are waiting for
We can now see the name of the file we are waiting for, depending on the
cluster name this will change.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-12-14 21:08:18 +01:00
Sébastien Han 3776c23b9a common: remove uncessary conditions and spell red hat entirely
We do not need to run another condition for 'ceph_rhcs' since the
include we came from already has it, so we are already inside this
condition.
We also spell red hat entirely instead of rh and we remove capital
letters.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-12-14 19:03:04 +01:00
Sébastien Han 13a72fd24b common: set apt pinning with Red Hat Ceph Storage
When `ceph_stable_rh_storage` is True, every cluster node should have a
`/etc/apt/preferences.d/rhcs.pref` file with the following contents:

```
Explanation: Prefer Red Hat packages
Package: *
Pin: release o=/Red Hat/
Pin-Priority: 999
```

ceph-deploy already did this when used with ice-setup, and we need to do
the same thing with the ceph-ansible stack.

Closes: #1182 and https://bugzilla.redhat.com/show_bug.cgi?id=1404515

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-12-14 19:01:54 +01:00
Alfredo Deza 640442bee6 ceph-agent: do not check for subscription manager for agent install
Signed-off-by: Alfredo Deza <adeza@redhat.com>

Resolves: rhbz#1403576
2016-12-14 08:13:26 -05:00
Sébastien Han 2f6d603738 Merge pull request #1183 from zhsj/fix-custom-repo
fix ceph_custom not usable
2016-12-14 13:16:58 +01:00
Shengjing Zhu 9051f8d5b4 fix ceph_custom not usable
Only when ceph_origin == "upstream", install_on_redhat.yml will include
redhat_ceph_repository.yml, same as debian.

In redhat_ceph_repository.yml, ceph_custom_repo will be added.

But in check_mandatory_vars.yml, ceph_origin=="upstream" can't be combined
with ceph_custom
2016-12-14 16:55:41 +08:00
tynorth-cisco 3c6e156d08 Change attribute call to .get call in ceph keys
If previous check was not run, .stdout_lines is not a valid key on the dictionary.
To get around this, use .get("stdout_lines") instead.

Also add in a default empty list
2016-12-13 16:48:14 -08:00
Casey Bodley 0ebb728d7d ceph-common: remove libcephfs1 from debian_ceph_packages
in hammer, ceph-common depended on libcephfs (indirectly, via
python-cephfs). this is no longer the case in jewel or later, so it can
be removed from debian_ceph_packages

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2016-12-09 16:49:20 -05:00
Sébastien Han 189f4fee47 common: do not run tasks in main.yml, use include
For readibility and clarity we do not run any tasks directly in the
main.yml file. This file should only contain include, which helps us
later to apply conditionnals if we want to.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-12-09 16:00:46 +01:00
Sébastien Han 1de8176bf4 common: move mandatory variables to their respective roles
Signed-off-by: Sébastien Han <seb@redhat.com>
2016-12-09 14:45:05 +01:00
Sébastien Han 75cb749570 docker: consolidate ceph-ansible and ceph-docker varible
This commit re-uses some of the existing ceph-ansible variables for a
containirzed deployment. There is no reasons why we should add new
variables for the containerized deployment.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-12-09 14:39:05 +01:00
Andrew Schoen 2c98b1d70f Merge pull request #1169 from ceph/shaman-support
Shaman support for `ceph_dev`
2016-12-09 07:09:38 -06:00
Sébastien Han 9ea6517d69 Merge pull request #1165 from opsta/master
Improve script to install Ceph AIO without Vagrant
2016-12-09 10:47:46 +01:00
Alfredo Deza deb96d7b04 ceph-common: fetch ceph_dev repo contents for CentOS from shaman
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2016-12-08 16:55:15 -05:00
Alfredo Deza 4e2948bce3 ceph-common: remove ceph_dev* vars that are no longer needed
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2016-12-08 16:55:15 -05:00
Alfredo Deza f741ee7402 ceph-common: fetch ceph_dev repo contents for debian from shaman
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2016-12-08 16:55:14 -05:00
Logan V 034fc1a791 Fix the mons running check to use group name var
mon_group_name variable can be used to override mons group, but
this task assumes the group is always 'mons'. So we need to use
the var to find the group name instead.
2016-12-08 13:16:02 -06:00
Sébastien Han 7b0602c224 Merge pull request #1157 from ceph/ceph-fsid
common: do not regenerate a cluster fsid if cluster exits
2016-12-08 18:55:21 +01:00
Andrew Schoen 7812e0b32e Merge pull request #1162 from ceph/timeout-collect-keys
mon: remove collect keys
2016-12-08 10:28:28 -06:00
Jirayut Nimsaeng 6f8d17646c Remove variables that can be override with ceph_conf_overrides 2016-12-08 22:22:01 +07:00
Jirayut Nimsaeng 8d6277bbc3 Add mon_pg_warn_max_per_osd, osd_pool_default_size and osd_pool_default_min_size variables 2016-12-08 19:25:15 +07:00
Andrew Schoen 9942b5028a docker: fix ceph.conf generation for multiple mons
Before this patch only the address for the first mon would show
in the ceph.conf even if there were multiple mons in the inventory.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-07 17:22:10 -06:00
Sébastien Han 93c3988bfe mon: remove collect keys
Once the monitor process starts it will also trigger `ceph-create-keys`
which will collect the admin key and bootstrap keys. We used to force
this command because we were having issues on some distros like centos
7.0 and 7.1 not triggering this. This is fixed on centos 7.2 and not an
issue on ubuntu 14.04 or 16.04 so we can remove this task. If the
monitor hangs or fails to start the playbook will fail right after at
the "wait for client.admin key exists" task after 300sec.

Closes: #1161

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-12-07 14:38:39 +01:00
Sébastien Han de07ba8fbf common: do not regenerate a cluster fsid if cluster exists
This commit solves the situation where you lost your fetch directory and
you are running ansible against an existing cluster. Since no fetch
directory is present the file containing the fsid doesn't exist so we
are creating a new one. Later the ceph.conf gets updated with a wrong
fsid which causes problems for clients and ceph processes.

Closes: #1148

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-12-07 11:26:48 +01:00
Andrew Schoen e2f4d4ef56 ceph-rgw: default rgw_config_keys in defaults/main.yml
This avoid an issue with it being undefined if nfs_obj_gw is
set to False.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-01 10:28:55 -06:00
Andrew Schoen 913dc8e01e ceph-rgw: no need to use playbook_dir when fetching configs for docker
This avoids a bug when fetch_directory is not a relative to the playbook
directory.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-01 10:28:54 -06:00
Andrew Schoen bbbd8ff148 ceph-osd: no need to use playbook_dir when fetching configs for docker
This causes a bug when fetch_directory is not relative to the playbook
directory.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-01 10:28:54 -06:00
Andrew Schoen aeab09938a ceph-mon: no need to include playbook_dir when fetching configs
This causes a bug when fetch_directory is not a relative path to the
playbook location.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-01 10:28:54 -06:00
Andrew Schoen 1e64eb7111 ceph-mon: adds static: no to an include to avoid an ansible bug
Adding that avoids this bug:

https://github.com/ansible/ansible/issues/18206

Without that you'll get failures like:

TASK [ceph-mon : set keys permissions]
*****************************************
task path:
/home/andrewschoen/ceph-ansible/roles/ceph-mon/tasks/ceph_keys.yml:31
fatal: [mon0]: FAILED! => {"failed": true, "msg": "'dict object' has no attribute 'stdout_lines'"}

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-12-01 10:28:54 -06:00
Sébastien Han bb57238115 Merge pull request #1139 from ceph/last-cleanup-apache
common: remove apache file
2016-12-01 11:04:48 +01:00
Sébastien Han 20a11a3111 common: remove apache file
we recently dropped the support for apache with rgw, so this commit
removes the last remaining file.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-12-01 11:02:31 +01:00
Guillaume Abrioux c4b972cfd7 Add gluster nfs ganesha repo only for Ubuntu
According to the official documentation, adding PPA is not available for Debian.
2016-11-30 16:50:52 +01:00
Sébastien Han 153837c195 Merge pull request #1125 from guits/master
Use 'package' module instead of yum, apt and dnf
2016-11-30 15:50:23 +01:00
Sébastien Han 945525934e Merge pull request #1131 from guits/refact_code
Refact temporary vars in ceph-common defaults.
2016-11-30 15:46:15 +01:00
Guillaume Abrioux 07b953f420 Refact temporary vars in ceph-common defaults.
These variables were defined here to be sure that
`roles/ceph-common/tasks/checks/check_mandatory_vars.yml` has all variables defined.
2016-11-30 14:36:56 +01:00
Ken Dreyer 9f0b3ceb6b rm ceph-extra.repo and redhat_distro_ceph_extra variable
We removed the "apache" setting for "radosgw_frontend" in
adfdf6871e.

As part of that change, we removed the final references to
ceph-extra.repo, but I failed to clean up this file itself.

Now that nothing uses this file, delete it.

This file contained the sole reference to redhat_distro_ceph_extra, so
we can drop that variable as well.
2016-11-29 14:42:34 -07:00
Guillaume Abrioux 76220ed719 Use 'package' module instead of yum, apt and dnf
Refactor the code using 'package' module

Fix Issue #520

(However it doesn't cover all cases because some cases are not refactorable.
Ex: because of diverging packages name between distribution)
2016-11-29 17:29:11 +01:00
Daniel Marks 74cf3532a9 Better --check compatibility for ceph-rgw role
Carefully chosen "always_run: true" parameters for read-only tasks that
register variables. This enables --check runs (at least on deployed
clusters).
2016-11-27 15:00:10 +01:00
Daniel Marks 4c76001961 Better --check compatibility for ceph-restapi role
Carefully chosen "always_run: true" parameters for read-only tasks that
register variables. This enables --check runs (at least on deployed
clusters).
2016-11-27 15:00:10 +01:00
Daniel Marks 404ad8f484 Better --check compatibility for ceph-rbd-mirror role
Carefully chosen "always_run: true" parameters for read-only tasks that
register variables. This enables --check runs (at least on deployed
clusters).
2016-11-27 15:00:10 +01:00
Daniel Marks ba0f16f485 Better --check compatibility for ceph-osd role
Carefully chosen "always_run: true" parameters for read-only tasks that
register variables. This enables --check runs (at least on deployed
clusters).
2016-11-27 15:00:10 +01:00
Daniel Marks 444c8fad40 Better --check compatibility for ceph-nfs role
Carefully chosen "always_run: true" parameters for read-only tasks that
register variables. This enables --check runs (at least on deployed
clusters).
2016-11-26 21:31:56 +01:00
Daniel Marks 9337b19ac0 Better --check compatibility for ceph-mon role
Carefully chosen "always_run: true" parameters for read-only tasks that
register variables. This enables --check runs (at least on deployed
clusters).
2016-11-26 21:05:32 +01:00
Daniel Marks 7b1dbbbdf8 Better --check compatibility for ceph-mds role
Carefully chosen "always_run: true" parameters for read-only tasks that
register variables. This enables --check runs (at least on deployed
clusters).
2016-11-26 20:52:24 +01:00
Daniel Marks 7371e9a668 Better --check compatibility for ceph-fetch-keys role
Carefully chosen "always_run: true" parameters for read-only tasks that
register variables. This enables --check runs (at least on deployed
clusters).
2016-11-26 20:42:08 +01:00
Daniel Marks c561d2635e Better --check compatibility for ceph-common role
Carefully chosen "always_run: true" parameters for read-only tasks that
register variables. This enables --check runs (at least on deployed
clusters).
2016-11-26 20:39:12 +01:00
Daniel Marks 2e50e5ba88 Better --check compatibility for ceph-common-coreos role
Carefully chosen "always_run: true" parameters for read-only tasks that
register variables. This enables --check runs (at least on deployed
clusters).
2016-11-26 17:48:06 +01:00
Daniel Marks 767c5c1c86 Better --check compatibility for ceph-agent role
Carefully chosen "always_run: true" parameters for read-only tasks that
register variables. This enables --check runs (at least on deployed
clusters).
2016-11-26 17:35:57 +01:00
Logan V 684a513258 Fix jinja defaulting syntax
a397922 introduced a syntax error by attempting to default an unquoted
string, which causes execution failures on some ansible versions with:

Failed to template {{ ceph_rhcs_mount_path }}: Failed to template {{ ceph_stable_rh_storage_mount_path | default(/tmp/rh-storage-mount) }}: template error while templating string: unexpected '/'
2016-11-24 17:47:49 -06:00
Daniel Marks 624ed92ee2 Better --check compatibility for ceph-rgw role
Carefully chosen "always_run: true" parameters for read-only tasks that
register variables. This enables --check runs (at least on deployed
clusters).
2016-11-24 11:54:43 +01:00
Daniel Marks 320dba7490 Better --check compatibility for ceph-mon role
Carefully chosen "always_run: true" parameters for read-only tasks that
register variables. This enables --check runs (at least on deployed
clusters).
2016-11-24 11:54:10 +01:00
Daniel Marks 3eef386532 Better --check compatibility for ceph-common role
Carefully chosen "always_run: true" parameters for read-only tasks that
register variables. This enables --check runs (at least on deployed
clusters).
2016-11-24 11:53:29 +01:00
Daniel Marks 9cfd0f4118 Make NTP checks usable with '--check'
As those task are only reading the installed packages and their output
is required in later tasks it is safe to run them also in check mode.
2016-11-23 13:52:56 +01:00
Sébastien Han c8c927faeb Merge pull request #1112 from zhsj/fix-py3
fix python3 compatibility in jinja2 template.
2016-11-22 18:07:09 +01:00
Sébastien Han 829e2b6598 Merge pull request #1077 from font/rolling_update
Support containerized rolling update
2016-11-22 16:56:46 +01:00
Shengjing Zhu 3e06e39550 fix python3 compatibility in jinja2 template.
rename iterkeys to keys
2016-11-22 21:52:52 +08:00
Ken Dreyer adfdf6871e remove apache support for RGW
libfcgi is dead upstream (http://tracker.ceph.com/issues/16784)

The RGW developers intend to remove libfcgi support entirely before the
Luminous release.

Since libfcgi gets little-to-no developer attention or testing, remove
it entirely from ceph-ansible.
2016-11-18 13:13:12 -07:00
Ivan Font 92ffc5307d Fix error caused by missing OSD cluster keyring
Ansible task was not properly fetching OSD cluster keyring causing
the keyring to be missing when we needed to authenticate. Similarly, we
were not properly waiting on the OSD keyring to be available before
continuing.

Signed-off-by: Ivan Font <ifont@redhat.com>
2016-11-17 23:03:11 -08:00
Ivan Font 3ff17f1c8f Support containerized rolling update
- Update rolling update playbook to support containerized deployments
  for mons, osds, mdss, and rgws
- Skip checking if existing cluster is running when performing a rolling
  update
- Fixed bug where we were failing to start the mds container because it
  was missing the admin keyring. The admin keyring was missing because
  it was not being pushed from the mon host to the ansible host due to
  the keyring not being available before running the copy_configs.yml
  task include file. Now we forcefully wait for the admin keyring to be
  generated before continuing with the copy_configs.yml task include file
- Skip pre_requisite.yml when running on atomic host. This technically
  no longer requires specifying to skip tasks containing the with_pkg tag
- Add missing variables to all.docker.sample
- Misc. cleanup

Signed-off-by: Ivan Font <ifont@redhat.com>
2016-11-17 11:25:25 -08:00
James Saint-Rossy 3023d0339c Replaced Ansible 2.2 specific check_mode: no with backwards compatible always_run: yes 2016-11-16 16:47:43 -05:00
Sébastien Han 81a72cb85d Merge pull request #1068 from ceph/v2.2
moving to ansible v2.2 compatibility
2016-11-16 16:33:40 +01:00
Sébastien Han 200388d532 Merge pull request #1082 from albertomurillo/v2.2
sync config_template plugin with master branch
2016-11-16 15:50:55 +01:00
Sébastien Han 97165abd8a Merge pull request #1091 from ceph/rgw-when
ceph-rgw: add systemd condition
2016-11-14 16:25:26 +01:00
Sébastien Han d4cf547f0e Merge pull request #1032 from ceph/backward-compat-rhcs
common: backward compatibility name for rhcs
2016-11-14 15:49:42 +01:00
Sébastien Han c16fd4b148 ceph-rgw: add systemd condition
We have a fact that detects the package manager, so we can detect if
systemd is used. Radosgw was still using some old logic from Ubuntu.
Ubuntu 16.04 now has systemd so we don't need to configure rgw as it was
running on upstart.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-11-14 15:12:20 +01:00
Andrew Schoen 06ce643f7d common: reformat mon_initial_members with indention
Signed-off-by: Andrew Schoen <aschoen@redhat.com>

Resolves: testing#updates
2016-11-08 10:35:43 -06:00
Andrew Schoen dea9fbe9d0 common: provide a default for monitor_address_block
Signed-off-by: Andrew Schoen <aschoen@redhat.com>

Resolves: testing#updates
2016-11-08 10:35:43 -06:00
Andrew Schoen fcacf90939 common: check for monitor_interface before monitor_address in ceph.conf
Signed-off-by: Andrew Schoen <aschoen@redhat.com>

Resolves: testing#updates
2016-11-08 10:35:42 -06:00
Alberto Murillo Silva d16a6b47f0 sync config_template plugin with master branch
ansible 2.2 deprecates first_available_file option which is used in
the config_template module by 'generate ceph configuration file' task.

This change syncs the config_module files from their master repository
in github.com/openstack/openstack/ansible-plugins which includes the fix

2f6cac2cf6

Signed-off-by: Alberto Murillo Silva <alberto.murillo.silva@intel.com>
2016-11-08 10:12:16 -06:00
Sébastien Han a2fcd222d2 moving to ansible v2.2 compatibility
Signed-off-by: Sébastien Han <seb@redhat.com>
Co-Authored-By: Julien Francoz julien@francoz.net
2016-11-04 10:09:38 +01:00
Andrew Schoen 6115ad11d5 Merge pull request #1069 from ceph/dmycrypt-checks
osd dmcrypt: add ability to check devices
2016-11-03 10:28:22 -05:00