Commit Graph

1520 Commits (2aa53fb0f50ba7e767dcb204a8647a8a48995833)

Author SHA1 Message Date
WingKai Ho 421d1a2853 Update ceph_keys.yml
jewel version need to build the {{ cluster }}.client.admin.keyring exists key
2017-02-21 09:49:52 +08:00
Sébastien Han 7c79e09424 common: fix "disable transparent hugepage"
To configure kernel the task is using "command" module which is not
respect operator ">". So this task just print to "stdout": "never >
/sys/kernel/mm/transparent_hugepage/enabled"

fix: #1319

Signed-off-by: Sébastien Han <seb@redhat.com>
2017-02-20 17:07:53 -05:00
Shengjing Zhu 32923fd217 fix grep match pattern for osd ids
Some playbooks use [0-9]*, others use \d+$
The latter is more correct since cluster name may contain numbers.

Signed-off-by: Shengjing Zhu <zsj950618@gmail.com>
2017-02-20 16:35:56 +08:00
Sébastien Han cc769464d0 docker: homogenise systemd file location
So unit files were stored in /var/lib/ceph some where in
/etc/systemd/system. Now they are all under /etc/systemd/system.

closes: #1296

Signed-off-by: Sébastien Han <seb@redhat.com>
2017-02-16 18:31:32 +01:00
Sébastien Han 978093d843 Merge pull request #1304 from guits/fix_1300
Skip facts_mon_fsid.yml if cephx is disabled
2017-02-11 13:14:07 +01:00
Andrew Schoen c5a5658e09 Merge pull request #1301 from guits/fix_1294
Check if ceph_conf_overrides.global is defined before calling it
2017-02-10 10:20:14 -06:00
Andrew Schoen 94ac749918 Merge pull request #1302 from ceph/docker-pull
docker: use a better method to pull images
2017-02-10 10:18:37 -06:00
Guillaume Abrioux 11bae8b252 Skip facts_mon_fsid.yml if cephx is disabled
If cephx is disabled it is not necessary to include `facts_mon_fsid.yml`
in `roles/ceph-common/tasks/facts.yml`.

Fix: #1300
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
2017-02-10 17:04:32 +01:00
Guillaume Abrioux e63631a4ab bugfix: Add missing conditions for kraken release
76ddcbc introduced an issue by removing some needed conditions on tasks
that need to be run only on release >= kraken.
2017-02-10 15:14:54 +01:00
Guillaume Abrioux 4295d427b9 Check if ceph_conf_overrides.global is defined before calling it
Expand the fix in #1291 to all the playbook in order to get a full coverage.

Fix: #1294
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
2017-02-09 20:28:58 +01:00
Sébastien Han c2f1dca823 docker: use a better method to pull images
We changed the way we declare image.
Prior to this patch we must have a "user/image:tag"
format, which is incompatible with non docker-hub registry where you
usually don't have a "user". On the docker hub a "user" is also
identified as a namespace, so for Ceph the user was "ceph".

Variables have been simplified with only:

* ceph_docker_image
* ceph_docker_image_tag

1. For docker hub images: ceph_docker_name: "ceph/daemon" will give
you the 'daemon' image of the 'ceph' user.

2. For non docker hub images: ceph_docker_name: "daemon" will simply
give you the "daemon" image.

Infrastructure playbooks have been modified as well.
The file group_vars/all.docker.yml.sample has been removed as well.
It is hard to maintain since we have to generate it manually. If
you want to configure specific variables for a specific daemon simply
edit group_vars/$DAEMON.yml

Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1420207
Signed-off-by: Sébastien Han <seb@redhat.com>
2017-02-09 17:57:18 +01:00
Guits df162a61b1 ceph-mon: Fix bug #1242
We shouldn't test directly the value of
`ceph_conf_overrides.global.osd_pool_default_pg_num` because this can
cause the playbook to fail if the key `global` is not present in
`ceph_conf_overrides`. Therefore we have to use the facts that have been
defined earlier.

Fix: #1242

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
2017-02-08 10:46:46 +01:00
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
Andrew Schoen f87aabcb21 common: remove underscores in ceph.conf so config names are consistent
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-11-03 09:25:03 -05:00
Sébastien Han 32018f80a1 osd dmcrypt: add ability to check devices
Even for dmcrypt we need to check the "devices" status and
"raw_journal_devices" as well so we can fix them if there is something
wrong with them.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-11-03 15:20:07 +01:00
Andrew Schoen 65544fb6aa ceph-common: remove unused mon_addr_interface.j2 template
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-11-02 15:36:03 -05:00
Andrew Schoen 66bf9eca20 ceph-common: remove unused mon_addr_address.j2 template
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-11-02 15:35:07 -05:00
Andrew Schoen 49dba08c05 fixes monitor_address and monitor_interface features
Before this commit if you had set monitor_interface in your
inventory file for a specific host it would be ignored and the value
in group_vars/all would have been used.

Also, this enables support for monitor_address again as it had been
broken by previous changes to this template.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-11-02 15:27:12 -05:00
Eduard Egorov 557d26ca8e Fix 'raw_journal_devices' to be initialized as a list in ceph-common defaults. Add empty 'devices' list there as well. Adjust 'devices' and 'raw_journal_devices' checks.
This is done for preventing of their use-before-definition for osd scenarios checks (should be removed after a refactor has properly seperated all the checks into appropriate roles).

Signed-off-by: Eduard Egorov <eduard.egorov@icl-services.com>
2016-11-01 10:07:03 +00:00
Eduard Egorov 4895c2864e Make {{ raw_journal_devices }} list optional: define it as empty list by default, remove unneccessary 'default([])' checks
Signed-off-by: Eduard Egorov <eduard.egorov@icl-services.com>
2016-11-01 09:57:25 +00:00
Eduard Egorov f33c1cd2d2 Make {{ devices }} list optional: define it as empty list by default, remove unneccessary 'default([])' checks
Signed-off-by: Eduard Egorov <eduard.egorov@icl-services.com>
2016-11-01 09:57:25 +00:00
Leseb 59ee496088 Merge pull request #1045 from wind0204/pr-monitor_interface_with_hyphens
now you can use a network link name with a hyphen
2016-10-31 21:15:55 +01:00
Leseb fb8167cf79 Merge pull request #1052 from verdurin/revert-1042-centos-extras-ini_file
Revert "Change enabling of extras repo for CentOS to use ini_file"
2016-10-31 16:31:51 +01:00
Andrew Schoen 4146edb3d2 raw_multi_journal is not required when using dmcrypt_dedicated_journal
Fixes: https://github.com/ceph/ceph-ansible/issues/1054

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

Resolves: issue#1054
2016-10-28 11:12:55 -05:00
Adam Huffman 3b9f4f7de3 Revert "Change enabling of extras repo for CentOS to use ini_file" 2016-10-26 10:04:59 +02:00
Andrew Schoen 3b2bd02c14 ceph-osd: use ini_file instead of yum_repository to enable Centos extras
Fixes issue #1041

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

Resolves: issue#1041
2016-10-25 14:16:42 -05:00
Leseb 4883fa6161 Merge pull request #1042 from verdurin/centos-extras-ini_file
Change enabling of extras repo for CentOS to use ini_file
2016-10-25 09:50:52 +02:00
Gunwoo Gim (a.k.a. Nicho1as) 0421ade0df now you can use a network link name with a hyphen 2016-10-25 00:49:11 +09:00
Sébastien Han 1e6c418a65 mon: destroy and recreate rbd pool if necessary
Users reported that pool_default_pg_num is not honoured for the default
pool 'rbd'. So now we check the pg num value for the RBD pool and if it
does not match pool_default_pg_num then we delete and recreate it.
We also make sure the pool is empty first, just in case someone changed
the value manually and didn't reflect the change in ceph-ansible.

The only issue with this patch is that the pool ID will not be 0 anymore
but more likely 1.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-10-22 01:31:15 +02:00
Adam Huffman 68bafc1fd0 Change enabling of extras repo for CentOS to use ini_file
Signed-off-by: Adam Huffman <bloch@verdurin.com>
2016-10-19 22:15:14 +01:00
Simon Weald 5973f67b7b fixed breakage on Debian under ansible v2.0 caused by #74d73d1e65b6720c0372c61aea7a627e4e571a3b 2016-10-19 12:36:49 +01:00
Leseb 74d73d1e65 Merge pull request #1035 from verdurin/centos-extras
Ensure extras repo enabled on CentOS
2016-10-18 18:23:40 +02:00
Adam Huffman 9de16e4d94 Ensure extras repo enabled for CentOS across different roles
Signed-off-by: Adam Huffman <bloch@verdurin.com>
2016-10-17 21:44:30 +01:00
Simon Weald 6adab85df2 forced an apt-get update prior to installing any packages from Ceph repos 2016-10-17 15:37:26 +01:00
Adam Huffman 4315166e91 Remove superfluous distro family check
Signed-off-by: Adam Huffman <bloch@verdurin.com>
2016-10-17 10:39:06 +01:00
Adam Huffman f3dea0d40a Ensure extras repo enabled on CentOS 2016-10-16 23:23:43 +01:00
Sébastien Han a3979229fb common: backward compatibility name for rhcs
backward compatibility for ceph-ansible version running latest code but
using variables defined before commit: 492518a2

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-10-14 15:19:11 +02:00
Sébastien Han dafb100e2a common: fix rundep installation
see: https://bugzilla.redhat.com/show_bug.cgi?id=1382878

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-10-10 16:57:37 +09:00
9seconds ff629f749b Merge remote-tracking branch 'upstream/master' into cluster_name_for_ceph_fetch_keys 2016-10-07 16:08:58 +03:00
suuuper 1abed53f7d Fixed packages for red hat 2016-10-07 10:36:19 +02:00
9seconds 0184469229 Allow to propagate cluster name to ceph-fetch-keys
ceph-fetch-keys role currently works only if cluster name is 'ceph'.
This commit allows to set custom cluster name in 'defaults' in the same
fashion as other roles do.
2016-10-07 09:06:22 +03:00
Sébastien Han 9753e29bae osd: clarify osd scenarios
Co-Authored-By: Rachana Patel <racpatel@redhat.com>
Signed-off-by: Sébastien Han <seb@redhat.com>
2016-10-06 12:01:29 +02:00
Leseb bceb892a8e Merge pull request #1006 from ceph/fix-autodiscovery
osd: fix autodiscovery disk
2016-10-06 11:34:43 +02:00
Sébastien Han 860303c265 osd: fix autodiscovery disk
Signed-off-by: Sébastien Han <seb@redhat.com>
Co-Authored-By: Christoph Dwertmann
2016-10-06 11:12:23 +02:00
Musee Ullah 564a8486b0
Remove dupes in raw_journal_devices in a consistent manner 2016-10-05 14:36:41 -07:00
OrFriedmann 14bb9026b9 Update install_on_debian.yml 2016-10-05 16:13:30 +03:00
OrFriedmann cbaa71d198 add installation of jemalloc for nfs-ganesha 2016-10-05 16:07:25 +03:00
OrFriedmann 1294d94850 add repositories required for nfs-ganesha 2016-10-05 16:04:39 +03:00
Leseb 393765c973 Merge pull request #966 from ceph/nfs-ganesha-repo
common: add gluster ganesha repo on Debian
2016-10-05 14:10:25 +02:00
Leseb afd0389361 Merge pull request #996 from batrick/multimds
multimds: add commands to enable and set max_mds
2016-10-04 17:43:29 +02:00
Patrick Donnelly 4127828094
multimds: add commands to enable and set max_mds
Also regenerated group_vars.

Fixes #986.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2016-10-04 09:40:20 -06:00
Patrick Donnelly c5d2170d96
secure_cluster: fix leftover version check
Missed by #953.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2016-10-04 09:39:44 -06:00
Simon Weald e160edd881 updated Debian package installation syntax for Ansible v2 2016-10-04 15:04:15 +01:00
Leseb 45898739bb Merge pull request #994 from ceph/bz-1203603
fix non skipped task for ansible v1.9.x
2016-10-04 11:41:14 +02:00
Sébastien Han f162db1202 fix non skipped task for ansible v1.9.x
please refer to
https://bugzilla.redhat.com/show_bug.cgi?id=1376283

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-10-03 16:48:04 +02:00
James Saint-Rossy 9c7dac6b94 Updated release version check 2016-09-30 11:43:53 -04:00
James Saint-Rossy e2198b3c6a Rebased 2016-09-29 19:48:54 -04:00
Proskurin Kirill c7be6f85c7 Remove duplication of "osd crush chooseleaf type"
Signed-off-by: Proskurin Kirill <kproskurin@mirantis.com>
2016-09-28 18:47:46 +03:00
James Saint-Rossy 99f1caa120 Fixed check to legacy ceph_stable_releases list 2016-09-26 11:33:17 -04:00
James Saint-Rossy d36a99e41b Used list style ands for better readibility and fixed legacy debian checks 2016-09-26 09:19:15 -04:00
James Saint-Rossy 982c44d41c Rebased with upstream master 2016-09-25 23:22:16 -04:00
Alfredo Deza d5ddd86e9c group_vars: default to version 2 of RHCS
This RHCS version is now generally available. Default to using it.

Signed-off-by: Alfredo Deza <adeza@redhat.com>
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>

Related: rhbz#1357631
2016-09-23 11:22:06 -06:00
Patrick Donnelly 2bf06246a8
ceph-common: install ceph-fuse on clients
Fixes #985.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2016-09-22 23:01:44 -04:00
Leseb eb8b59f409 Merge pull request #984 from thotypous/master
Allow deployer to customize openstack pools
2016-09-22 11:34:53 +02:00
Paulo Matias a13094b888 Allow deployer to customize openstack pools
By overriding the openstack_pools variable introduced by this commit, the
deployer may choose not to create some of the openstack pools, or to add
new pools which were not foreseen by ceph-ansible, e.g. for a gnocchi
storage backend.

For backwards compatibility, we keep the openstack_glance_pool,
openstack_cinder_pool, openstack_nova_pool and
openstack_cinder_backup_pool variables, although the user may now choose
to specify the pools directly as dictionary literals inside the
openstack_pools list.
2016-09-21 14:49:42 -03:00
Leseb e5acff23eb Merge pull request #981 from ceph/persistent-disk-path
ceph-osd: get full link path when testing if a partition
2016-09-21 14:56:50 +02:00
Sébastien Han 381af6c18d ceph-osd: get full link path when testing if a partition
This allows us to test devices set with persistent naming such as
/dev/disk/by-*
When registering devices we can use persisent (/dev/disk/by-*) or
non-persistent (/dev/sd*). Both declarations are supported by
ceph-ansible. There was just two tasks that were not compatible with
this. Since we support using partitions directly we need to test that
because the device activation will be different. To test if the device
is a partition we use a regular expression which wasn't compatible with
the persistent device naming format (/dev/disk/by-*).

This commit solves this issue by reading the path of the symlink since
devices like /dev/disk/by-* are symlinks to devices like /dev/sd*

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-09-20 10:15:06 +02:00
Patrick Donnelly bcb2e39017
ceph.conf: add variable setting monitor addr block
For some providers (such as upcoming Linode support), some NICs may have
multiple IP addresses. (In the case of Linode, the only NIC has a public
and private IP address.) This is normally okay as we can use the
ceph.conf cluster_network and public_network variables to force the
monitor to listen on the addresses we want. However, we also need
ansible to set the correct monitor IP addresses in "mon hosts" (i.e. the
addresses the monitors will listen on!). This new monitor_address_block
setting tells ansible which IP address to use for each monitor.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2016-09-19 17:35:41 -04:00
Patrick Donnelly 35c64f91f4
deploy_monitors: use python2 for v2 code
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2016-09-18 20:42:14 -04:00
James Saint-Rossy d4a60a9394 Added ceph_release generation and fixed missing whitespace in ceph_release checks 2016-09-09 18:16:41 -04:00
James Saint-Rossy 666637f715 Replaced is_before is_after is_ booleans with numerical version dictionary 2016-09-09 17:34:26 -04:00
James Saint-Rossy f52be23770 Prevent local_action from requiring root 2016-09-02 19:31:59 -04:00
James Saint-Rossy 9d97ffed30 Rebasing with upstream 2016-08-31 17:13:09 -04:00
Sébastien Han b5627155a8 common: add gluster ganesha repo on Debian
should fix: #964

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-08-30 17:01:07 +02:00
Sébastien Han d3ceab904d iscsi-gw: preparing the new iscsi role
adding the bare minimum to test and start the new role.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-08-26 15:29:07 +02:00
Sébastien Han 5b4dab3c89 Merge branch 'master' of github.com:ceph/ceph-ansible 2016-08-26 13:32:50 +02:00
Sébastien Han 923c40fc61 common: declare raw_journal_devices
So we can safely pass the check and avoid the undeclared variable error.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-08-26 13:31:45 +02:00
Ivan Font 94f8d8540a NFS fixes
- Move mon_containerized_default_ceph_conf_with_kv config from ceph-mon
  to ceph-common defaults as it's used in ceph-nfs
- Update conditional to generate ganesha config when not
  mon_containerized_default_ceph_conf_with_kv
- Revert change to store radosgw keyring using ansible_hostname on
  ansible server so that ceph-nfs can find it
- Update ceph-ceph-nfs0-rgw-user container to use ansible_hostname
  variable

Signed-off-by: Ivan Font <ivan.font@redhat.com>
2016-08-25 22:41:31 -07:00
Leseb 8719b3556c Merge pull request #955 from font/rgw
Fix for ceph-rgw role
2016-08-24 09:48:56 +02:00
Ivan Font 2073a72b39 Fix for ceph-rgw role
- Short-circuit conditional to prevent dereferencing an undefined
  dictionary variable

Signed-off-by: Ivan Font <ivan.font@redhat.com>
2016-08-24 00:30:05 -07:00
Sébastien Han 708c43a04e docker: fix osd configuration
use the activation scenario instead of the full ceph_disk one, we
already have a task to prepare osds so we just need to activate the
device.

working for me using vagrant :)

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-08-24 09:05:14 +02:00
Sébastien Han a4dbe49f7f docker: fix more than one monitor deployment
There is no need to run the actions from
roles/ceph-mon/tasks/docker/create_configs.yml
on the first monitor only since the monitor deployment happens
**serially**.
Moreover with Vagrant it's useful to allow the auto creation of the
cluster fsid, so enabling the option. If this is not desired you can
still set `fsid: 9c9c0448-0551-401d-b55b-e5b3a42bae42` for example.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-08-24 09:05:14 +02:00
Sébastien Han f351329897 docker: use cluster name
Fix cluster name for docker scenario and other playbooks.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-08-24 09:04:49 +02:00
James Saint-Rossy ab93cd0858 Remove unused use_server_package_split boolean 2016-08-24 00:38:52 -04:00
James Saint-Rossy 7e284920d1 Fixes for Hammer install and added numerical release checks 2016-08-24 00:23:47 -04:00
Ivan Font ef4d0a39f2 Restrict fact gathering to mons and update ceph.conf
- Gather facts only for mons before processing ceph-mon role serially in
  containerized playbook sample
- Updated ceph.conf in order to generate a valid ceph.conf

Signed-off-by: Ivan Font <ivan.font@redhat.com>
2016-08-22 10:42:27 -07:00
Leseb 7b6e85e096 Merge pull request #941 from dang/nfs-rgw
NFS fixups
2016-08-19 17:29:16 +02:00
Leseb b4fe16c31f Merge pull request #924 from jsaintrocc/check-part-speedup
check_devices.yml cleanup and optimization
2016-08-19 17:28:11 +02:00
Daniel Gryniewicz bb9df99046 NFS fixups
- Move fsal_rgw config to ceph-common, as it's shaered with ceph-rgw
- Update all.docker.sample with NFS config
- Rename fsal_rgw to nfs_obj_gw and fsal_ceph to nfs_file_gw, because
  the former names mean nothing to non-Ganesha developers

Signed-off-by: Daniel Gryniewicz <dang@redhat.com>
2016-08-18 12:25:20 -04:00
James Saint-Rossy 449d456086 Rebased and moved multisite/rgw playbooks to infrastructure-playbooks 2016-08-17 13:28:01 -04:00
James Saint-Rossy 32f6ef7747 Merged with Upstream Master 2016-08-17 12:00:36 -04:00
asbishop 91d2c3b32d Fix pre-infernalis RPM installation of ceph-radosgw
For pre-infernalis installation of ceph-radosgw from RPM, run 'chkconfig'
to ensure systemd's ceph-radosgw.service is created.

This fixes issue #843.
2016-08-17 10:45:08 -04:00
James Saint-Rossy 6d55d57fa6 fixed name: capitilization 2016-08-16 17:57:49 -04:00
James Saint-Rossy 35a26068ef Fixed quotes and removed combined_ prefix from variables that no longer need it 2016-08-16 17:49:30 -04:00
James Saint-Rossy d8609ec687 Experimental RGW Multisite Support 2016-08-16 14:57:01 -04:00
Leseb e92d9fbce0 Merge pull request #933 from font/cephconf
Fix ceph.conf template for containerized deployment
2016-08-16 15:46:18 +02:00
Leseb 1d3374dce0 Merge pull request #935 from cdwertmann/patch-2
Remove duplicate "max open files"
2016-08-16 09:49:42 +02:00
Leseb 995efb940f Merge pull request #932 from dang/nfs-rgw
NFS for FSAL_RGW
2016-08-16 09:45:17 +02:00
Christoph Dwertmann dde346ff30 Remove duplicate "max open files" 2016-08-16 15:56:40 +10:00
Alfredo Deza 3037b75624 ceph-common: convert ceph_stable_rh_storage to ceph_rhcs in prerequisites for iso install
Signed-off-by: Alfredo Deza <adeza@redhat.com>

Resolves: issue#811
2016-08-15 11:24:37 -04:00
Alfredo Deza 1681a3ecb6 ceph-common: convert ceph_stable_rh_storage to ceph_rhcs in prerequisites for cdn install
Signed-off-by: Alfredo Deza <adeza@redhat.com>

Resolves: issue#811
2016-08-15 11:24:37 -04:00
Alfredo Deza a403645944 ceph-common: convert ceph_stable_rh_storage to ceph_rhcs when installing rhs on redhat
Signed-off-by: Alfredo Deza <adeza@redhat.com>

Resolves: issue#811
2016-08-15 11:24:37 -04:00
Alfredo Deza 90730a7f4b ceph-common: convert ceph_stable_rh_storage to ceph_rhcs when installing rhs on debian
Signed-off-by: Alfredo Deza <adeza@redhat.com>

Resolves: issue#811
2016-08-15 11:24:37 -04:00
Alfredo Deza 30494497b0 ceph-common: convert ceph_stable_rh_storage to ceph_rhcs in mandatory vars
Signed-off-by: Alfredo Deza <adeza@redhat.com>

Resolves: issue#811
2016-08-15 11:24:37 -04:00
Alfredo Deza efe2c9e518 ceph-common: convert ceph_stable_rh_storage to ceph_rhcs in system checks
Signed-off-by: Alfredo Deza <adeza@redhat.com>

Resolves: issue#811
2016-08-15 11:24:36 -04:00
Alfredo Deza 23051e7ea5 ceph-common: convert ceph_stable_rh_storage to ceph_rhcs in main task
Signed-off-by: Alfredo Deza <adeza@redhat.com>

Resolves: issue#811
2016-08-15 11:24:36 -04:00
Alfredo Deza b41c84bb0d ceph-common: convert ceph_stable_rh_storage to ceph_rhcs in repo template
Signed-off-by: Alfredo Deza <adeza@redhat.com>

Resolves: issue#811
2016-08-15 11:24:36 -04:00
Alfredo Deza 492518a2cd ceph-common: convert ceph_stable_rh_storage to ceph_rhcs in defaults
Signed-off-by: Alfredo Deza <adeza@redhat.com>

Resolves: issue#811
2016-08-15 11:24:36 -04:00
Alfredo Deza a37e2f7a1c ceph-common: convert ceph_stable_rh_storage to ceph_rhcs in README
Signed-off-by: Alfredo Deza <adeza@redhat.com>

Resolves: issue#811
2016-08-15 11:24:36 -04:00
Ivan Font a0fc1becc8 Fix ceph.conf template for containerized deployment
Signed-off-by: Ivan Font <ivan.font@redhat.com>
2016-08-12 17:45:55 -07:00
Daniel Gryniewicz 2fd9bbbe09 NFS for FSAL_RGW
Add support for FSAL_RGW to the NFS gateway.  Both standard and
containerized versions are supported.
2016-08-12 11:49:16 -04:00
Daniel Lin 08766a243a Allow ceph-ansible to be run on a locally built/installed Ceph
-First install ceph into a directory with CMake
	cmake -DCMAKE_INSTALL_LIBEXECDIR=/usr/lib -DWITH_SYSTEMD=ON -DCMAKE_INSTALL_PREFIX:PATH:=/usr <ceph_src_dir> && make DESTDIR=<install_dir> install/strip

-Ceph-ansible copies over the install_dir

-User can use rundep_installer.sh to install any runtime dependencies that ceph needs onto the machine from rundep
2016-08-12 10:02:15 -04:00
Leseb f37a9d1181 Merge pull request #815 from ceph/ceph-initial-mon
WIP ceph-common: test mon initial members
2016-08-12 15:27:40 +02:00
Ivan Font 0d71f9fb79 Updates for containerized rbd-mirror role
- Remove /var/lib/ceph dependencies
- Add support for rbd-mirror image tag

Signed-off-by: Ivan Font <ivan.font@redhat.com>
2016-08-11 18:21:57 -07:00
James Saint-Rossy 052e4cc687 code cleanup 2016-08-10 18:03:09 -04:00
James Saint-Rossy a4c7ef3cc5 Initial support for RGW Multisite 2016-08-10 17:05:27 -04:00
Sébastien Han 673f54a100 osd: fix collocation spelling and declare dmcrypt variables
* changed s/colocation/collocation/
* declare dmcrypt variable in ceph-common so the variables check does
not fail

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-08-10 10:34:23 +02:00
James Saint-Rossy 5f61ff7867 ceph_devices.yml cleanup and optimization 2016-08-09 18:57:41 -04:00
Sébastien Han b0907aaeea ceph-common: test mon initial members
Signed-off-by: Sébastien Han <seb@redhat.com>
2016-08-09 13:50:57 +02:00
James Saint-Rossy 402a597fe6 Added initial multisite support 2016-08-08 17:29:56 -04:00
Ivan Font ba92eb48e8 Update ntp atomic plays to use is_atomic variable
Signed-off-by: Ivan Font <ivan.font@redhat.com>
2016-08-08 10:16:48 -07:00
Ivan Font 8c67689d08 Add option to enable ntp
This fixes #845 for containerized deployments. We now also mount the
/etc/localtime volume in the containers in order to synchronize the host
timezone with the container timezone.

Signed-off-by: Ivan Font <ivan.font@redhat.com>
2016-08-08 10:16:48 -07:00
Leseb f72d748bce Merge pull request #891 from ceph/dmcrypt
ceph-osd: add dmcrypt scenario
2016-08-08 16:27:34 +02:00
Sébastien Han 788b75efec ceph-osd: re-arrange osd scenario numbers
Signed-off-by: Sébastien Han <seb@redhat.com>
2016-08-08 15:55:12 +02:00
Martin Bukatovic 1e998120f6 remove ability to disable swap
Addressing issue #919.
2016-08-08 11:35:22 +02:00
Leseb 68782732c6 Merge pull request #916 from ktdreyer/client-libvirt
ceph-common: client settings are for libvirt
2016-08-08 10:42:42 +02:00
James Saint-Rossy a4d057f555 Fix purge yum cache 2016-08-04 01:26:59 -04:00
Ken Dreyer 19c3fdc53a ceph-common: client settings are for libvirt
Prior to this change, each ceph cluster node would end up with several
"qemu-client-$pid.log" files owned by root. The [client] section would
capture *all* client activity (for example the "ceph health" command,
etc), not just librbd-in-qemu.

Restrict this section to libvirt clients only so that we don't generate
these spurious log files for other Ceph client traffic.

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
2016-08-02 10:00:22 -06:00
Alexey Sheplyakov 76a3d876ee ceph-mon: fix the loop in `secure the cluster' task
Deployment fails when the ``secure_cluster`` is false:

TASK [ceph-mon : secure the cluster]
*******************************************
fatal: [saceph-mon.vm.ceph.asheplyakov]: FAILED! => {"failed": true, "msg": "'dict object' has no attribute 'stdout_lines'"}
fatal: [saceph-mon2.vm.ceph.asheplyakov]: FAILED! => {"failed": true, "msg": "'dict object' has no attribute 'stdout_lines'"}
fatal: [saceph-mon3.vm.ceph.asheplyakov]: FAILED! => {"failed": true, "msg": "'dict object' has no attribute 'stdout_lines'"}

A conditional include evaluates all included tasks with the (additional)
conditional applied to every task [1]. Thus all tasks from `secure_cluster.yml'
are always evaluated (with an additional 'when: secure_cluster' condition).
The `secure the cluster' task iterates over ``ceph_pools.stdout_lines``
even if ``secure_cluster`` is false: in loops ansible applies conditional
to every item (by design) [2]. However the `collect all the pools' task
is skipped if the very same condition evaluates to false, which leaves
the ``ceph_pools`` undefined, so the `secure the cluster' task fails:

Provide the default (empty) list to avoid the problem.

[1] http://docs.ansible.com/ansible/playbooks_conditionals.html#applying-when-to-roles-and-includes
[2] http://docs.ansible.com/ansible/playbooks_conditionals.html#loops-and-conditionals

Closes: #913

Signed-off-by: Alexey Sheplyakov <asheplyakov@mirantis.com>
2016-07-29 14:08:12 +03:00
Ivan Font 08e54d7722 Fix to check if cluster is running
Update each role's task to use the respective role's username, image
name, and image tag to check if a container is already running. This was
causing false failures because we were not matching any running
containers and subsequently running checks.yml to check the status of
cluster files being left behind.

Signed-off-by: Ivan Font <ivan.font@redhat.com>
2016-07-28 18:10:49 -07:00
Ken Dreyer 1b7e08ad50 remove references to Inktank Ceph Storage
ICE is beyond end-of-life, and this Inktank GPG key is considered
untrusted (https://access.redhat.com/blogs/766093/posts/2176181)

RIP ICE, we will not miss you.
2016-07-26 13:57:32 -06:00
Leseb 5a26dff9c0 Merge pull request #902 from ceph/journal-default
common: set journal size to 5GB
2016-07-26 13:53:26 +02:00
Sébastien Han b0e152d684 common: set journal size to 5GB
Journal size is not mandatory anymore, a default from 5GB is being
added. A simple warning message will show up if the size is set to
something below 5GB.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-07-26 13:51:32 +02:00
Leseb 80417dba2d Merge pull request #905 from chengweiv5/remove-dup-option
sgdisk: remove duplicated option `-g`
2016-07-26 11:11:20 +02:00
Sébastien Han 2ca0734c38 common: refresh config template module
Signed-off-by: Sébastien Han <seb@redhat.com>
2016-07-26 10:44:12 +02:00
Chengwei Yang 1bfab44aa9 sgdisk: remove duplicated option `-g`
Option `-g` of sgdisk is duplicated with `--mbrtogpt`, so lets remove it.

This fix #896

Signed-off-by: Chengwei Yang <yangchengwei@qiyi.com>
2016-07-26 08:55:43 +08:00
Sébastien Han 5978d55d22 ceph-osd: add dmcrypt scenario
add the ability to encrypt osd data store using dm-crypt

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-07-19 18:02:11 +02:00
Sébastien Han afb1b16353 common: prepare arm support
Signed-off-by: Sébastien Han <seb@redhat.com>
2016-07-19 17:17:16 +02:00
Kalle Happonen 3100d81831 Added support for --check flag in ceph-common
The ceph-common role fails when you run ansible with --check. Adding
always_run to a few tasks makes the check go through easier (although
it's not foolproof).
2016-07-19 15:52:45 +03:00
Leseb ce3258898f Merge pull request #879 from ceph/rbd-mirror-docker
rbd-mirror: container deployment support
2016-07-19 12:07:56 +02:00
Leseb 48599c07cc Merge pull request #848 from font/master
Add option to enable ntp
2016-07-18 18:24:54 +02:00
Sébastien Han e6097469bd rbd-mirror: container deployment support
add the ability to deploy a containerized version of the rbd mirror
daemon.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-07-18 18:13:27 +02:00
Leseb 70285a1bd4 Merge pull request #882 from dang/nmap-fix
Only check ports if NMAP exists
2016-07-18 11:01:37 +02:00
Alfredo Deza 9cba7735bd ceph-common: skip default installs on redhat if ISO needs to be used
Because the ISO installs would happen later in the playbook.

Signed-off-by: Alfredo Deza <adeza@redhat.com>

Resolves: rhbz#1357065
2016-07-15 13:09:32 -04:00
Daniel Gryniewicz 352824cee7 Allow generating FSID for docker
The docker case wasn't able to generate an FSID, it required it to be
set.  Allow generating it.

Signed-off-by: Daniel Gryniewicz <dang@redhat.com>
2016-07-13 13:19:22 -04:00
Daniel Gryniewicz 71e7aa348e Only check ports if NMAP exists
Signed-off-by: Daniel Gryniewicz <dang@redhat.com>
2016-07-13 13:17:49 -04:00
pprokop a11eb03aae Fixing typos 2016-07-13 10:25:05 +02:00
pprokop 69cce9c135 Removing --rm flag from prepare osd 2016-07-13 10:22:17 +02:00
pprokop 41386c7bde Adding missing tag 2016-07-13 10:22:17 +02:00
pprokop 09d104f297 Fixing typos 2016-07-13 10:22:17 +02:00
pprokop 26688d10dc Removing creating symbolic links and fixing systemctl enable not working on CoreOS and migrating form docker module to shell in prepare image 2016-07-13 10:22:15 +02:00
pprokop 3950751317 Adding an option to choose an etcd port and tag of docker images 2016-07-13 10:19:50 +02:00
Ivan Font 6f5f6610a8 Support for docker image tags
Signed-off-by: Ivan Font <ivan.font@redhat.com>
2016-07-12 15:49:07 -07:00
Alfredo Deza 0656dfc5df ceph-common: explicitly create the directory portion of the iso path
This will help if the path to the iso exists in the originating server but not
in the remote paths. This issue is not seen if using /tmp/file.iso but does
show up when using nested paths.

Signed-off-by: Alfredo Deza <adeza@redhat.com>

Resolves: rhbz#1355762
2016-07-12 09:59:27 -04:00
Leseb ede7a2afd1 Merge pull request #874 from KGoreczny/docker_module_for_ansible_2_1_support
Fix docker deployment for Ansible 2.1
2016-07-12 15:36:07 +02:00
KGoreczny 11bed371ac remove trailing spaces
Signed-off-by: KGoreczny <krzysztof.goreczny@intel.com>
2016-07-12 14:50:56 +02:00
Leseb 55216e0a4d Merge pull request #880 from cdwertmann/patch-1
Use correct object names when zapping GPT header
2016-07-12 13:41:47 +02:00
Leseb f6daa79916 Merge pull request #873 from erikh/fixups
Container fixups
2016-07-12 13:37:20 +02:00
Christoph Dwertmann 8cfaa05743 Use correct object names when zapping GPT header 2016-07-12 21:11:38 +10:00
Erik Hollensbe 6b218a36d9 ceph-osd: fix an item propagation error while partitioning disks
Signed-off-by: Erik Hollensbe <github@hollensbe.org>
2016-07-12 03:57:11 -07:00
KGoreczny 65bd022834 add python-py install to all other docker roles
Signed-off-by: KGoreczny <krzysztof.goreczny@intel.com>
2016-07-12 12:55:27 +02:00
Austin Brown efeb63c577 ceph-osd: Use the use_systemd fact when start directory-scenario OSDs 2016-07-12 11:00:49 +09:00
Ken Dreyer d0a2a10948 ceph-common: rm "type=rpm-md" from RHCS repos
As far as I can tell, this is a SUSE-ism, not needed for RHCS.
2016-07-11 09:11:42 -06:00
Ken Dreyer adb6c319bc ceph-common: update names for local RHCS repos
Use more descriptive names for the local RHCS Yum repositories.
2016-07-11 08:53:52 -06:00
KGoreczny 13e0b60cbe Fix for Ansible 2.1: install docker-py in version matched to ansible docker module
Signed-off-by: KGoreczny <krzysztof.goreczny@intel.com>
2016-07-11 11:35:32 +02:00
Ken Dreyer d7a35e24d9 ceph-common: fix "Red Hat Ceph Storage" product name
Standardize on the name "Red Hat Ceph Storage" everywhere
2016-07-08 16:09:32 -06:00
Sébastien Han a83e5d6b10 remove withspaces
Signed-off-by: Sébastien Han <seb@redhat.com>
2016-07-07 16:17:49 +02:00
Alfredo Deza d2a555ca14 ceph-common: ensure that destination iso paths exist before copying
Signed-off-by: Alfredo Deza <adeza@redhat.com>

Resolves: rhbz#1338551
2016-07-06 13:20:14 -04:00
Leseb e52d5b2357 Merge pull request #858 from dang/custom-repo
Add a custom yum repo ability
2016-07-06 15:30:49 +02:00
Leseb 7649ff247e Merge pull request #859 from dang/cleanups
Add DNF for RedHat
2016-07-05 17:34:17 +02:00
Leseb 11b5142bea Merge pull request #856 from dang/ceph-nfs
Add support for Ceph NFS Gateway
2016-07-05 17:33:39 +02:00
Leseb 0a5155bb16 Merge pull request #866 from PiotrProkop/ceph-mon-kv-fix
Adding option to change kv_port and docker tag
2016-07-05 17:28:59 +02:00
Alberto Murillo 76000ace2f Trim init_system var
init_system was getting the value of "systemd\n"
and was later compared to be equal to "systemd"
making the wrong scripts to be executed.

Signed-off-by: Alberto Murillo <alberto.murillo.silva@intel.com>
2016-06-29 15:16:23 -05:00
pprokop 397c3fe4fd Fixing typos 2016-06-29 07:53:37 +02:00
pprokop bae7e5342c Adding option to change kv_port anf docker tag 2016-06-28 14:02:00 +02:00
pprokop 6b9653c897 Removing symblic links and fixing systemctl enable on CoreOS 2016-06-28 13:58:26 +02:00
pprokop e31efd7ebf Fix not creating pypy_binary_direcotry 2016-06-28 12:11:42 +02:00
Daniel Gryniewicz a7d999b45b Add a custom repo ability
Add the ability to use a custom repo, rather than just upstream, RHEL,
and distro.  This allows ansible to be used for internal testing.

Signed-off-by: Daniel Gryniewicz <dang@redhat.com>
2016-06-24 09:46:48 -04:00
Ivan Font a61b8ec071 Fail when we cannot retrieve docker image
If the docker image cannot be retrieved we will fail this task silently
and the playbook ultimately succeeds without a successful deployment.
This change makes it so we fail the playbook immediately.

Signed-off-by: Ivan Font <ivan.font@redhat.com>
2016-06-23 17:24:01 -07:00
Ivan Font 453c299ed7 Add option to enable ntp
This fixes: #845 only for non-containerized deployments

Signed-off-by: Ivan Font <ivan.font@redhat.com>
2016-06-23 09:58:32 -07:00
Daniel Gryniewicz 21166168e3 Add DNF for RedHat
Signed-off-by: Daniel Gryniewicz <dang@redhat.com>
2016-06-23 10:24:14 -04:00
Daniel Gryniewicz 4c2a433acb Add support for Ceph NFS Gateway
Ceph has the ability to export it's filesystem via NFS using Ganesha.
Add a ceph-nfs role that will start Ganesha and export the Ceph
filesystems.

Note that, although support is going in to export RGW via NFS, this is
not working yet.

Signed-off-by: Daniel Gryniewicz <dang@redhat.com>
2016-06-22 13:29:11 -04:00
Alfredo Deza ac99802409 ceph-agent: install the correct package for the agent in Ubuntu
Signed-off-by: Alfredo Deza <adeza@redhat.com>

Resolves: rhbz#1348130
2016-06-20 07:49:40 -04:00
Leseb d679eacd46 Merge pull request #852 from rootfs/doc-fix
be explicit on Atomic VirtualBox instruction
2016-06-20 11:00:52 +02:00
Huamin Chen 18e7e72deb fix rgw containerized deployment
Signed-off-by: Huamin Chen <hchen@redhat.com>
2016-06-17 16:59:53 +00:00
Huamin Chen 638abfb497 fix mds containerized deployment
Signed-off-by: Huamin Chen <hchen@redhat.com>
2016-06-17 16:52:52 +00:00
Alfredo Deza 4e5eedd434 ceph-common: use rh_storage_version variable to enable the correct repos
Signed-off-by: Alfredo Deza <adeza@redhat.com>

Resolves: rhbz#1346812
2016-06-17 11:46:42 -04:00
Alfredo Deza c4c007b9b0 ceph-common: do not enable optional repos for rhel7
Signed-off-by: Alfredo Deza <adeza@redhat.com>

Resolves: rhbz#1346812
2016-06-16 14:54:49 -04:00
Alfredo Deza d23f8fc3db ceph-common: default to 1.3 for rh_storage_version
Signed-off-by: Alfredo Deza <adeza@redhat.com>

Resolves: rhbz#1346812
2016-06-16 14:54:49 -04:00
Sébastien Han 753f715c27 ceph-common: declare mon_containerized_deployment
If not declared, the play will fail.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-06-13 12:33:36 +02:00
Daniel Gryniewicz 887baf0cce Put path back to playbook_dir for common template
The config template is in ceph-common, not in the individual roles, so
roles referencing it need to use playbook_dir, not role_path.

Signed-off-by: Daniel Gryniewicz <dang@redhat.com>
2016-06-09 10:59:17 -04:00
Sébastien Han 4219221bf4 ceph-mon: fix wrong indent
Signed-off-by: Sébastien Han <seb@redhat.com>
2016-06-09 15:35:57 +02:00
Leseb d9d1d7856e Merge pull request #812 from rootfs/fix
some fixes for container deployment
2016-06-09 15:33:32 +02:00
Leseb 157d32560a Merge pull request #844 from matthewrees/master
Various fixes for check_firewall task
2016-06-07 17:26:37 +02:00
Matthew Rees 38355f5fa7 Fix typo for ceph monitor port 2016-06-07 16:50:43 +02:00
Matthew Rees 05f5771726 Clean up checks and with_item loops that are no longer needed due to
other fixes in this PR
2016-06-07 16:27:07 +02:00
Leseb 202d372dba Merge pull request #840 from jimcurtis/master
docker: enable mds container on Atomic host environment
2016-06-07 13:56:37 +02:00
Matthew Rees f274e142e7 Fix for nmap arguments and grep matching, as well as only running
local_actions once
2016-06-07 13:48:07 +02:00
Jim Curtis fa82827636 docker: review feedback on PR #840 2016-06-06 16:49:35 -07:00
Huamin Chen 8320085a66 ceph.conf.j2: check if interface is defined before using it
ceph-mon.service.j2: remove redundant --name option from docker command

Signed-off-by: Huamin Chen <hchen@redhat.com>
2016-06-06 17:34:51 +00:00
Matthew Rees 211ba4a3de Fix to reference the monitor_address variable correctly in hostvars 2016-06-06 16:29:59 +02:00
Matthew Rees 9d8ffa5bda Add fix for those who are using monitor_address 2016-06-06 15:57:51 +02:00
Matthew Rees ca3cb32862 Change default to False for checking firewalls 2016-06-06 15:10:15 +02:00
Matthew Rees 9aa8a4b024 Only include the firewall checks when a user wants them checked 2016-06-06 15:10:14 +02:00
Matthew Rees de855fe18a Use the command module in place of the shell module 2016-06-06 15:10:14 +02:00
Matthew Rees 9bb8c85baf Various fixes for check_firewall task:
- Check for nmap being available was not running as a local_action, when the checks using nmap were
- Various fixes on Ansible 2.x now that the above is working
2016-06-06 15:10:14 +02:00
Leseb 98b4153e62 Merge pull request #839 from dcwangmit01/centos_remove_plugin_priorities
Remove Centos7 dependency yum-plugin-priorities
2016-06-06 13:41:15 +02:00
Leseb 58f9a6cfe0 Merge pull request #804 from dang/docker-dev
Allow running on local dev docker images
2016-06-06 11:12:43 +02:00
Jim Curtis e047b0a8ed docker: review feedback on PR #840 2016-06-04 10:56:01 -07:00
David C Wang 1106d4de8c Added comments from ./group_vars/all.sample back into roles/ceph-common/defaults/main.yml 2016-06-03 19:24:43 +00:00
David C Wang 94d2e11425 Remove Centos7 dependency yum-plugin-priorities
This causes ceph-ansible scripts to fail when targeting Centos7 machines.
Installation fails because newer ceph package dependencies provided
  by ceph-release-{version}.noarch.rpm were overridden by older
  package dependency versions in default distribution repositories,
  due to the fact that default distribution repositories have higher
  priority.
2016-06-03 19:14:27 +00:00
Daniel Gryniewicz 9d08d74385 Allow running on local dev docker images
Docker makes it difficult to use images that are not on signed
registries.  This is a problem for developers, who likely won't have
access to a registry with proper signed certificates.

This allows the ability to use any docker image on the machine running
vagrant/ansible.  The way it works is that the image in question is
exported locally, then sent to each target box and imported there.

Signed-off-by: Daniel Gryniewicz <dang@redhat.com>
2016-06-03 14:52:21 -04:00
Huamin Chen c4f9bf8d13 update osd default vars
Signed-off-by: Huamin Chen <hchen@redhat.com>
2016-06-03 16:42:22 +00:00
Huamin Chen 6b84f5475b fix containerized deployment on centos
Signed-off-by: Huamin Chen <hchen@redhat.com>
2016-06-03 15:24:00 +00:00
Tino Schmeier 5819736bb6 - prepare for python3 2016-06-03 14:23:21 +02:00
Leseb 00876feaa4 Merge pull request #837 from ceph/rhbz-1342117
Do not ignore ceph-disk issues
2016-06-03 10:46:12 +02:00
Jim Curtis 959edf7205 docker: enable mds container on Atomic host environment 2016-06-02 15:54:56 -07:00
Alfredo Deza 2fa57b4cdb ceph-osd: do not ignore ceph-disk errors in raw multi journal
Signed-off-by: Alfredo Deza <adeza@redhat.com>

Resolves: rhbz#1342117
2016-06-02 17:16:21 -04:00
Alfredo Deza d287959107 ceph-osd: do not ignore ceph-disk errors in journal_collocation
Signed-off-by: Alfredo Deza <adeza@redhat.com>

Resolves: rhbz#1342117
2016-06-02 17:16:05 -04:00
Alfredo Deza 195ee33dcf ceph-osd: do not ignore ceph-disk errors in bluestore
Signed-off-by: Alfredo Deza <adeza@redhat.com>

Resolves: rhbz#1342117
2016-06-02 17:15:35 -04:00
Andrew Schoen ed1de5bf06 include the red hat storage apt-key as a file
This will allow nodes to install rhcs that do
not have access to the internet.

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

Resolves: rhbz#1337601
2016-06-02 15:20:04 -05:00
Leseb c7d5ef41be Merge pull request #833 from ceph/template-path
ceph-common: uniformize template path calls
2016-06-02 18:52:48 +02:00
Sébastien Han c6232bed21 ceph-common: uniformize template path calls
In order to align all Ansible versions, we now use the full path for the
template. We rely on `role_path` variable. Now all the tasks using
the template module have a uniform syntax.

Might fix issue raised in #483

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-06-02 18:19:03 +02:00
Leseb e64488dad4 Merge pull request #831 from SamYaple/fix_when
The when conditional was improperly being checked
2016-06-02 17:18:32 +02:00
Sam Yaple bc242c2c34 Add undefined vars to ceph-common role
This is a temporary action to get the playbooks functional before a
refactor to better correct this issue.
2016-06-02 14:54:36 +00:00
Sam Yaple cbbf87eb42 Revert "Fix commit conditionals"
This reverts commit 9ed45f7367.
2016-06-02 14:46:27 +00:00
Leseb 0c4b9d7963 Merge pull request #832 from ceph/RHBZ-1339439
remove the gpgkey line from the red hat storage repo template
2016-06-02 11:32:48 +02:00
Leseb 0c9ee965a9 Merge pull request #828 from jimcurtis/master
docker: enable rgw container on Atomic host environment
2016-06-02 10:55:53 +02:00
Andrew Schoen 4a105993a8 remove the gpgkey line from the red hat storage repo template
See: https://bugzilla.redhat.com/show_bug.cgi?id=1339439

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

Resolves: rhbz#1339439
2016-06-01 14:00:31 -05:00
Sam Yaple 59dd3223e7 Add defaults to False for undefined variables 2016-06-01 18:31:30 +00:00
Sam Yaple 9ed45f7367 Fix commit conditionals
The goal is to _fail_ this when conditional when one (and only one) is
set. The 'not's were incorrectly added.
2016-06-01 18:15:13 +00:00
Sam Yaple 60ae1820a7 The when conditional was improperly being checked
The scenarios were not being accurately compared to ensure that:
* A single scenario was choosen
* ONLY a single scenario was choosen

This solution does not scale for long, but that can be addressed in a
different patchset.
2016-06-01 17:58:26 +00:00
Jim Curtis a803be1815 docker: review feedback on PR #828 2016-06-01 09:55:08 -07:00
Jim Curtis c580b1b20c docker: enable rgw container on Atomic host environment 2016-05-31 12:59:05 -07:00
Alfredo Deza 254d75f671 ceph-common: install ceph-common packages for clients on debian for rhcs
Signed-off-by: Alfredo Deza <adeza@redhat.com>

Resolves: rhbz#1339096
2016-05-31 12:09:50 -04:00
Alfredo Deza 3b52b263eb ceph-common: install ceph-common packages for clients on redhat for rhcs
Signed-off-by: Alfredo Deza <adeza@redhat.com>

Resolves: rhbz#1339096
2016-05-31 12:09:31 -04:00
Leseb 06b855d071 Merge pull request #816 from pamelia/master
allow dash in cluster name
2016-05-29 15:56:04 +02:00
Marcus Pamelia d694c59278 allow dash in cluster name 2016-05-29 09:20:46 +02:00
Huamin Chen a124078612 in containerized deployment, use the right interface name variable in mon; remove one line inline files
cleanup on docker osd tasks

Signed-off-by: Huamin Chen <hchen@redhat.com>
2016-05-25 18:17:37 +00:00
Alfredo Deza 312f72dc5b ceph-common: include the new install_rh_storage_on_redhat playbook when ceph_stable_rh_storage is on:
Signed-off-by: Alfredo Deza <adeza@redhat.com>

Resolves: rhbz#1339096
2016-05-25 08:45:22 -04:00
Alfredo Deza aced6751f7 ceph-common: create a new install task for rh storage on redhat
Signed-off-by: Alfredo Deza <adeza@redhat.com>

Resolves: rhbz#1339096
2016-05-25 08:45:16 -04:00
Alfredo Deza 130d425d26 ceph-common: specify file path for repo key
Signed-off-by: Alfredo Deza <adeza@redhat.com>

Resolves: rhbz#1339068
2016-05-24 08:28:34 -04:00
Leseb 866fcb7794 Merge pull request #789 from ceph/default-ceph-path
ceph-common: fix ceph options default path again
2016-05-24 10:32:15 +02:00
Alfredo Deza 570c01a04d ceph-common: there is no Installer repo, it is now the Tools repo
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2016-05-23 09:13:30 -04:00
Sébastien Han 82aec38a71 ceph-rgw: implement num_threads for civetweb
Signed-off-by: Sébastien Han <seb@redhat.com>
2016-05-20 14:31:49 +02:00
Leseb cc894d4044 Merge pull request #800 from ceph/BZ-1337320
ceph-common: on rh storage on debian add the repositories and keys (ISO)
2016-05-20 14:18:07 +02:00
Leseb 5984888a2f Merge pull request #797 from ceph/rgw-debian-rhcs
install ceph-mds and radosgw on debian systems when using red hat ceph storage
2016-05-20 14:07:02 +02:00
Leseb 3aaeaf8940 Merge pull request #802 from ceph/BZ-1337305
ceph-common: redhat repo template: remove the Calamari reference
2016-05-20 14:05:33 +02:00
Alfredo Deza ed22cfa213 ceph-common: redhat repo template: remove the Calamari reference, no longer a distinct repo
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2016-05-19 16:17:02 -04:00
Alfredo Deza c78313d19f ceph-common: on rh storage on debian do not add the rh key by default
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2016-05-19 15:16:18 -04:00
Alfredo Deza 41bb446857 ceph-osd: fix typo when calling sgdisk second time around
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2016-05-19 14:46:43 -04:00
Alfredo Deza 329ac01d49 ceph-common: on rh storage on debian add the repositories and keys
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2016-05-19 14:20:47 -04:00
Leseb 7f85b0d5ff Merge pull request #796 from ceph/fix-rgw-frontends
fix the radosgw_civetweb_bind_ip default value
2016-05-19 16:14:32 +01:00
Andrew Schoen eb92cb57e4 install ceph-mds on debian systems when using red hat ceph storage
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-05-19 09:56:06 -05:00
Andrew Schoen 7157afc7ce install radosgw on debian systems when using red hat ceph storage
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-05-19 09:52:18 -05:00
Andrew Schoen a6a946d86b fix the radosgw_civetweb_bind_ip default value
We want just the address for ansible_default_ipv4, not the entire
dictionary in ceph.conf.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-05-18 15:53:47 -05:00
Alfredo Deza 7b8c16b4e9 ceph-common: remove RedHat-only constraint for RH ISO install
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2016-05-18 16:40:28 -04:00
Sébastien Han 1d5d438e5d ceph-common: list impacted versions
For the ceph option default path

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-05-18 15:25:49 +01:00
Alfredo Deza 52f73f30c5 ceph-osd: fail when ceph-disk fails to prepare an OSD
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2016-05-18 08:09:26 -04:00
Sébastien Han e071b773d8 ceph-common: add explanation message
Signed-off-by: Sébastien Han <seb@redhat.com>
2016-05-16 18:55:54 +02:00
Leseb 746a384e03 Merge pull request #781 from ceph/no-symlink-systemd
Do not create symlinks for systemd manually
2016-05-16 18:38:40 +02:00
Sébastien Han e7aae27801 ceph-common: fix ceph options default path again
closes: #788

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-05-16 18:37:28 +02:00
Andrew Schoen 85fb03fc99 fix the /etc/default/ceph path on debian when setting cluster name
In ceph version 10.2.1 a bug was fixed that corrects the path:

791eba81a5

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-05-13 15:22:24 -05:00
Andrew Schoen d2b94c2a4c Do not create symlinks for systemd manually
Instead use 'systemctl enable' to create the symlinks.

This fixes: https://github.com/ceph/ceph-ansible/issues/779

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-05-13 13:21:08 -05:00
Huamin Chen 7f85c2512f don't recreate /etc/ceph with wrong mode
Signed-off-by: Huamin Chen <hchen@redhat.com>
2016-05-12 13:47:52 +00:00
Leseb 82a249e742 Merge pull request #771 from ceph/client-role
ceph-client: introduce new client role
2016-05-11 14:40:15 +02:00
Sébastien Han 40df8fb814 ceph-client: introduce new client role
By default, this roles will create a ceph config file and get the admin
key. You can optionnally add other users, keys and pools for your tests.

Closes: #769

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-05-11 14:36:35 +02:00
Samuel Matzek 9fec57a583 Add Debian ppc64le support
Add support to allow ceph-ansible to install and
configure Ceph on Debian on the ppc64le architecture.

Canonical has ppc64le Debian packages in Ubuntu distros
and on Ubuntu Cloud Archive.  Both of which can be installed
and configured using the 'distro' or 'uca' options in
ceph-ansible when this patch is used.

Signed-off-by: Samuel Matzek <smatzek@us.ibm.com>
2016-05-10 14:26:30 -05:00
Leseb 52b2f1cb85 Merge pull request #694 from ceph/purge-ceph-conf-options
ceph-common: purge ceph.conf file
2016-05-10 18:24:07 +02:00
Sébastien Han 47860a887f ceph-common: purge ceph.conf file
Since ##461 we have been having the ability to override ceph default
options. Previously we had to add a new line in the template and then
another variable as well. Doing a PR for one option was such a pain. As
a result, we now have tons of options that we need to maintain across
all the ceph version, yet another painful thing to do.
This commit removes all the ceph options so they are handled by ceph
directly. If you want to add a new option, feel free to to use the
`ceph_conf_overrides` variable of your `group_vars/all`.

Risks, for those who have been managing their ceph using ceph-ansible
this is not a trivial change as it will trigger a change in your
`ceph.conf` and then restart all your ceph services. Moreover if you did
some specific tweaks as well, prior to run ansible you should update the
`ceph_conf_overrides` variable to reflect your previous changes.

To avoid service restart, you need to know a bit of ansible for this,
but generally the idea would be to run ansible on a dummy host to
generate the ceph.conf, then scp this file to all your ceph hosts and
you should be good.

Closes: #693

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-05-10 16:51:42 +02:00
Stephan Hohn 4dad21c481 Increase system stabillity by re-enabling swap and setting vm.swappiness to 10 2016-05-09 22:05:01 +02:00
Leseb f748f8683c Merge pull request #749 from SamYaple/unified_when
Unify formatting of when conditional
2016-05-09 18:25:37 +02:00
Sam Yaple 14d31c7bcd Add in missing is_before_infernalis statement 2016-05-09 15:26:37 +00:00
Sam Yaple 1d5406c4a3 Fixed a few missed when conditionals from rebase 2016-05-09 14:17:14 +00:00
Sam Yaple 069c93a238 Unify formatting of when conditional
This is purely a refactor. Converts when 'and' conditionals into lists
rather than multiline strings. This does not work for nested
conditionals, but those can be formated with indents.

Moves one line when statements onto the same line as the when command
itself.

A small logic bug was found in ceph-osd/tasks/check_devices.yml which
which was also fixed.

Signed-off-by: Sam Yaple <sam@yaple.net>
2016-05-09 14:08:33 +00:00
Alfredo Deza 2aea592b21 try to zap a device again if sgdisk fails on the first try
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2016-05-09 09:12:28 -04:00
Li Peng 92c48f3f2b cleanup: fix inappropriate variable names
Signed-off-by: Li Peng <lip@dtdream.com>
2016-05-09 15:14:13 +08:00
Li Peng aaeadcab12 cleanup: fix typos
Signed-off-by: Li Peng <lip@dtdream.com>
2016-05-09 15:12:01 +08:00
Leseb 30f7208334 Merge pull request #748 from ceph/use-jewel
ceph: use jewel release
2016-05-09 01:13:54 +02:00
Leseb 1b8d021ef0 Merge pull request #764 from ceph/systemd
Several fixes
2016-05-09 01:00:02 +02:00
Sébastien Han c8e5e49552 ceph-mon: fix monitor startup
Somehow on CentOS 7.2 with Jewel, the service enablement by the Ansible service module
does not seem to work properly.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-05-09 00:41:44 +02:00
Sébastien Han b3971354bf ceph-mds: fix the handler
Moving the mds_name fact in the common role so the MDS can properly
be restarted.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-05-09 00:39:03 +02:00
Sébastien Han 7949c2d512 ceph-mds: fix MDS conditions
We don't need to set is_systemd when we are applying a configuration for
a sysvinit init.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-05-09 00:34:44 +02:00
Sébastien Han c4f3ab5649 ceph-common: install ceph-mds package
We kinda ommitted this package, now Jewel is out and the metadata server
is considered as stable.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-05-07 02:37:09 +02:00
Leseb 54a4216933 Merge pull request #761 from dang/docker-fixes
Docker fixes for MDS
2016-05-07 01:03:35 +02:00
Andrew Schoen 5139ed0592 strip any newlines from the init_system fact
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-05-06 14:47:45 -05:00
Andrew Schoen 8baf8830d6 Use the use_systemd fact when starting rbd
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-05-06 14:47:45 -05:00
Andrew Schoen cb70d49751 Use the use_systemd fact when starting mdss
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-05-06 14:47:45 -05:00
Daniel Gryniewicz a7fb22cb44 Docker fixes for MDS
Fixes to make the ceph-mds role work with Docker

Signed-off-by: Daniel Gryniewicz <dang@redhat.com>
2016-05-06 09:59:51 -04:00
Andrew Schoen 7436479c40 Use the use_systemd fact when starting rgw
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-05-05 14:31:12 -05:00
Andrew Schoen 5669b6ba7c use the use_systemd fact when starting OSDs
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-05-05 13:59:36 -05:00
Andrew Schoen 20d2d52ebd use the use_systemd fact when starting monitors
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-05-05 13:56:32 -05:00
Andrew Schoen 9eed0ea4e7 Adds an use_systemd fact
This adds a helper fact that uses the ``init_system`` fact to determine if
we should be using systemd or not when controlling services.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-05-05 11:53:08 -05:00
Leseb 27bbcd2161 Merge pull request #750 from ceph/osd-id-fix
Get the correct OSD ID when the cluster name includes numbers
2016-05-04 16:40:46 +02:00
Leseb 480cb68892 Merge pull request #755 from mattt416/fix_issue_741
Set init_system fact and reference in ceph-osd role
2016-05-04 16:39:41 +02:00
Matt Thompson ed2b7757d4 Set init_system fact and reference in ceph-osd role
The ceph-osd role currently uses ansible_service_mgr, which is a fact
only available on ansible 2.x and greater.  This commit sets a similar
fact called init_system which will store the contents of /proc/1/comm
(systemd, init, etc.) and then references it ceph-osd instead.

Closes #741
2016-05-04 12:05:31 +01:00
Leseb 108e260ff8 Merge pull request #747 from smatzek/add_ubuntu_cloud_archive
Add support for install from Ubuntu Cloud Archive
2016-05-04 11:50:25 +02:00
Ivo Jimenez 216ab2d776 Mounts /run when executing osd container 2016-05-03 15:47:01 -07:00
Andrew Schoen 4a181d420d Get the correct OSD ID when the cluster name includes numbers
If the ceph cluster name includes numbers, the grep used to find the OSD
IDs from /var/lib/ceph/osd/ would also return the numbers that were in
the cluster name.

For example, if the cluster was named 'mine123' and there was only one
OSD on the node, then the task that finds the OSD IDs would return
'123' and '0'.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-05-03 14:47:47 -05:00
Samuel Matzek ae239aaf09 Add support for install from Ubuntu Cloud Archive
This adds support to allow the install of Ceph from the
Ubuntu Cloud Archive.  The Ubuntu Cloud Archive provides newer
release of Ceph than the normal Ubuntu distro repository.

Signed-off-by: Samuel Matzek <smatzek@us.ibm.com>
2016-05-03 10:51:39 -05:00
Sébastien Han 94ce2be758 ceph: use jewel release
Also fix the repo url.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-05-03 14:02:44 +02:00
Daniel Gryniewicz 256775cb0f Docker fixes and cleanups
Signed-off-by: Daniel Gryniewicz <dang@redhat.com>
2016-05-02 10:56:52 -04:00
Sébastien Han 6513cdb313 ceph-common: install ceph-mon/osd for ceph dev
Since developement versions of Ceph are after infernalis a package split
happened. So basically ceph-mon, ceph-osd, ceph-mds need to be
installed.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-05-02 14:18:33 +02:00
Leseb 4bfae5fc7a Merge pull request #733 from jimcurtis/master
docker: fixes for OpenStack VMs
2016-04-28 14:45:37 -05:00
Andrew Schoen f81140d21f Adds a use_server_package_split var
This will allow a user to conditionally install the ceph package on rpm
based systems. Installing this package is not required or wanted in
versions passed infernalis.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-04-28 09:15:05 -05:00
Alfredo Deza 6f189335ce ceph-rgw: port start_radosgw task to use new ceph version facts
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2016-04-27 13:46:58 -04:00
Alfredo Deza 04a2974af1 ceph-rbd-mirror: port start_rbd_mirror task to use new ceph version facts
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2016-04-27 13:46:58 -04:00
Alfredo Deza 9d21a3c56c ceph-osd: port activate_osds task to use new ceph version facts
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2016-04-27 13:46:57 -04:00
Alfredo Deza 50377e19b4 ceph-mon: port start_monitor task to use new ceph version facts
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2016-04-27 13:46:57 -04:00
Alfredo Deza 3c82c7fd16 ceph-mds: port pre_requisite task to use new ceph version facts
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2016-04-27 13:46:57 -04:00
Alfredo Deza 3af17a3137 ceph-common: port main handler to use new ceph version facts
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2016-04-27 13:46:52 -04:00
Jim Curtis 6c9e3ab2a3 docker: typo in comment 2016-04-27 10:31:27 -07:00
Alfredo Deza 8763b98e0a ceph-mon: port deploy_monitors task to use new ceph version facts
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2016-04-27 10:21:16 -04:00
Alfredo Deza df31745911 ceph-common: port main task to use new ceph version facts
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2016-04-27 10:21:16 -04:00
Alfredo Deza be8ae40bfb create is_before_RELEASE vars as well
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2016-04-27 10:21:16 -04:00
Alfredo Deza 8f35f1fb9b ceph-common: include the facts task always
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2016-04-27 10:21:16 -04:00
Alfredo Deza 25cc1ec1d3 ceph-common: create a facts task to define ceph versions
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2016-04-27 10:21:16 -04:00
Jim Curtis 19d8e0c1ce docker: Fix ordering of rgw docker tasks so directory is created befor fetch 2016-04-26 16:34:57 -07:00
Jim Curtis 78eb4f5c24 docker: fixes for OpenStack VMs 2016-04-26 08:20:02 -07:00
Leseb f3d98a64f9 Merge pull request #731 from ivotron/issue-730
bind-mounts /dev in osd containers
2016-04-25 14:56:52 -05:00
Leseb 9d10c6408c Merge pull request #724 from ivotron/issue-723
Modifies docker image variable being referenced
2016-04-25 14:46:07 -05:00
Ivo Jimenez 9ac9103e0d bind-mounts /dev in osd containers
This is needed in order to make ceph-disk work
2016-04-25 11:45:23 -05:00
Ivo Jimenez ea7a79c385 Modifies docker image variable being reference
These reference ceph_mon_docker_username instead of the corresponding
one
2016-04-24 14:32:17 -07:00
Leseb 7bd44d0563 Merge pull request #721 from ceph/fix-admin-socket-warning
change defaults for rbd_client_directories and rbd_client_admin_socket_path
2016-04-23 01:00:23 +02:00
Andrew Schoen 79a6e05228 default rbd_client_log_path to /var/log/ceph
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-04-22 12:39:16 -05:00
Andrew Schoen b649c4229a default rbd_client_admin_socket_path to /var/run/ceph
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-04-22 10:59:00 -05:00
Andrew Schoen f297af23c5 default rbd_client_directories to true
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-04-22 10:56:30 -05:00
Sébastien Han 4fa4154b4d ceph-rgw: ability to bind civetweb on an IP
Introducing a new config option: `radosgw_civetweb_bind_ip` which points
to the `ansible_default_ipv4` by default. You can override this
variable. Use ansible facts to put a proper value.

Signed-off-by: Sébastien Han <seb@redhat.com>
2016-04-22 17:47:57 +02:00
Andrew Schoen 95d80ad3d3 correctly set mon addr when monitor_interface is defined in group_vars
This fixes the ceph.conf template so that it will look for an inventory
defined value for monitor_interface or for monitor_interface defined in
a group_vars file.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-04-21 09:09:16 -05:00
Leseb f950afef92 Merge pull request #664 from jsaintrocc/master
Add infernalis to list of stable releases comment
2016-04-19 10:09:48 +02:00
James Saint-Rossy 67a895159e Updated version compare to 0.84.0 per laseb comment 2016-04-18 10:49:35 -04:00
Huamin Chen 9d81f32538 set path to find mon and osd systemd unit file templates
Signed-off-by: Huamin Chen <hchen@redhat.com>
2016-04-14 21:57:27 +00:00
Leseb f51548580f Merge pull request #713 from stpierre/fix-rbd-client-dirs
Fix creation of RBD client directories
2016-04-13 22:25:59 +02:00
Chris St. Pierre de22ae0a06 Fix creation of RBD client directories
Need to use a template, not a bare variable name.
2016-04-13 15:10:44 -05:00
Andrew Schoen a2b8ef8c1d Check to see if hostvars[host]['monitor_interface'] is defined
This fixes https://github.com/ceph/ceph-ansible/issues/711

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-04-13 13:34:51 -05:00
James Saint-Rossy fc270bb772 fixed handling of new ceph_version 2016-04-12 21:26:59 -04:00
James Saint-Rossy ee1e470757 moved string parsing of ceph version into ansbile for better error handling 2016-04-12 21:08:42 -04:00
Leseb afad22c5a1 Merge pull request #708 from ceph/docker-img
docker: do not hardcode image and user name
2016-04-12 12:08:35 +02:00
Leseb 34da863bfe Merge pull request #703 from ceph/issue-670
if ceph-disk fails to activate an OSD then bubble up the error
2016-04-12 12:05:28 +02:00
Leseb 74e3e04dcd Merge pull request #696 from stpierre/dedup-rbd-client-dirs
Deduplicate RBD client directory creation
2016-04-12 12:03:56 +02:00
Sébastien Han 7424ad6d68 docker: do not hardcode image and user name
Signed-off-by: Sébastien Han <seb@redhat.com>
2016-04-12 12:01:53 +02:00
Alfredo Deza 441d83fe77 if ceph-disk fails to activate an OSD then bubble up the error
Signed-off-by: Alfredo Deza <adeza@redhat.com>
2016-04-11 15:29:29 -04:00
James Saint-Rossy 3f9bd5c1b7 Removed infernalis workaround because ceph_stable_releases now includes it by default 2016-04-09 17:21:36 -04:00
James Saint-Rossy 4e7b93d725 Rebasing fork to account for upstream commits 2016-04-09 14:40:00 -04:00
Andrew Schoen 5031234d66 look at monitor_interface in hostvars when choosing interface or address
This fixes a bug where monitor_interface might be set in your inventory
file and not by using group_vars or --extra-vars causing the template to
use the default address of 0.0.0.0 instead of the defined
monitor_interface.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2016-04-08 14:23:12 -05:00
Chris St. Pierre 1efe62252c Deduplicate RBD client directory creation
Instead of creating the RBD client socket path three different places
in three different ways, this creates it once. Ceph on OpenStack users
have the option to customize the permissions of the RBD client
directories.

Fixes #687
2016-04-08 13:50:00 -05:00
Sébastien Han fc044e0571 rbd-mirror: fix readme title
Signed-off-by: Sébastien Han <seb@redhat.com>
2016-04-08 12:32:05 +02:00
Sébastien Han 6bcb451b9c ceph-rbd-mirorr: add license file
Signed-off-by: Sébastien Han <seb@redhat.com>
2016-04-08 12:17:46 +02:00
Leseb f783adcc9e Merge pull request #678 from ceph/rbd-mirror
ceph-rbd-mirror: add new role
2016-04-08 12:12:30 +02:00
Sébastien Han 2d21f741f5 ceph-rbd-mirror: add new role
Signed-off-by: Sébastien Han <seb@redhat.com>
2016-04-08 12:12:15 +02:00
Leseb 0047e83dad Merge pull request #684 from bengland2/when-hammer-try2
fix when clauses for installation of ceph RPM
2016-04-06 19:38:05 +02:00