]> git.apps.os.sepia.ceph.com Git - ceph-ansible.git/log
ceph-ansible.git
8 years agoMerge pull request #1018 from ceph/profile-examples 1710/head
Sébastien Han [Fri, 28 Jul 2017 13:38:06 +0000 (15:38 +0200)]
Merge pull request #1018 from ceph/profile-examples

profiles: introducing cluster profiles

8 years agoMerge pull request #1723 from ceph/mount-skip
Sébastien Han [Fri, 28 Jul 2017 12:39:33 +0000 (14:39 +0200)]
Merge pull request #1723 from ceph/mount-skip

osd: fail check mount partition if not skipped

8 years agoMerge pull request #1713 from ceph/ceph-stable
Sébastien Han [Thu, 27 Jul 2017 15:23:20 +0000 (17:23 +0200)]
Merge pull request #1713 from ceph/ceph-stable

common: make ceph_stable_release mandatory

8 years agocommon: only add a daemon section if we run on the host 1018/head
Sébastien Han [Thu, 27 Jul 2017 13:50:38 +0000 (15:50 +0200)]
common: only add a daemon section if we run on the host

We don't want to have heterogeous ceph.conf anymore and believe that we
should have the right section for the running daemon.
If we don't do this and use profiles, e.g: rgw, we will get a new rgw
section on some of the nodes.

Signed-off-by: Sébastien Han <seb@redhat.com>
8 years agoMerge pull request #1596 from czunker/restart_with_crush_location
Sébastien Han [Thu, 27 Jul 2017 12:22:45 +0000 (14:22 +0200)]
Merge pull request #1596 from czunker/restart_with_crush_location

Restart OSDs during initial setup when crush location is used

8 years agoosd: fail check mount partition if not skipped 1723/head
Sébastien Han [Thu, 27 Jul 2017 09:39:19 +0000 (11:39 +0200)]
osd: fail check mount partition if not skipped

We forgot to handle the case where "check if any of the raw partitions
are mounted" task gets skipped.

Signed-off-by: Sébastien Han <seb@redhat.com>
8 years agocommon: make ceph_stable_release mandatory 1713/head
Sébastien Han [Wed, 26 Jul 2017 09:54:19 +0000 (11:54 +0200)]
common: make ceph_stable_release mandatory

It is mandatory now to set the Ceph version you want to install, e.g:
ceph_stable_release: luminous

To find the release names, you can look at the release not doc:
http://docs.ceph.com/docs/master/release-notes/

Signed-off-by: Sébastien Han <seb@redhat.com>
8 years agoMerge pull request #1715 from ceph/do-no-enable 1720/head
Andrew Schoen [Wed, 26 Jul 2017 16:41:22 +0000 (11:41 -0500)]
Merge pull request #1715 from ceph/do-no-enable

osd: do not enable osd@id unit file

8 years agoosd: do not enable osd@id unit file 1715/head
Sébastien Han [Wed, 26 Jul 2017 14:46:57 +0000 (16:46 +0200)]
osd: do not enable osd@id unit file

ceph-disk is responsable for enabling the unit file if needed. Actually
since https://github.com/ceph/ceph/pull/12241 it seems that it's not
even needed. On an event of a restart, udev rules will be trigger and
they will ceph-disk activate the device too so the 'enabled' is not
needed.

Closes: https://github.com/ceph/ceph-ansible/issues/1142
Signed-off-by: Sébastien Han <seb@redhat.com>
8 years agoMerge pull request #1690 from yanyixing/master v2.3.0rc5
Sébastien Han [Wed, 26 Jul 2017 13:55:29 +0000 (15:55 +0200)]
Merge pull request #1690 from yanyixing/master

fix: when osd device is a disk partition

8 years agoMerge pull request #1709 from ceph/purge-systemd
Guillaume Abrioux [Tue, 25 Jul 2017 13:57:15 +0000 (15:57 +0200)]
Merge pull request #1709 from ceph/purge-systemd

purge: remove leftover unit files

8 years agofix: when osd device is a disk partition 1690/head
yanyx [Tue, 18 Jul 2017 06:56:12 +0000 (14:56 +0800)]
fix: when osd device is a disk partition

8 years agopurge: remove leftover unit files 1709/head
Sébastien Han [Tue, 25 Jul 2017 10:04:57 +0000 (12:04 +0200)]
purge: remove leftover unit files

Closes https://github.com/ceph/ceph-ansible/issues/1672

Signed-off-by: Sébastien Han <seb@redhat.com>
8 years agoRestart OSDs during initial setup when crush location is used 1596/head
Christian Zunker [Mon, 12 Jun 2017 08:31:49 +0000 (08:31 +0000)]
Restart OSDs during initial setup when crush location is used

OSDs get started by ceph-disk before the ceph.conf file is written
with a crush location. That results in a crush map without configured
crush location.

To prevent this, we have to restart the OSDs during the initial setup
after the crush location was added to the ceph.conf file.

8 years agoMerge pull request #1707 from ceph/admin-ker-perms
Guillaume Abrioux [Mon, 24 Jul 2017 15:06:59 +0000 (17:06 +0200)]
Merge pull request #1707 from ceph/admin-ker-perms

mon: add mgr cap to admin key

8 years agomon: add mgr cap to admin key 1707/head
Sébastien Han [Mon, 24 Jul 2017 14:00:06 +0000 (16:00 +0200)]
mon: add mgr cap to admin key

Signed-off-by: Sébastien Han <seb@redhat.com>
8 years agoMerge pull request #1705 from ceph/kv-port
Guillaume Abrioux [Mon, 24 Jul 2017 13:43:08 +0000 (15:43 +0200)]
Merge pull request #1705 from ceph/kv-port

ceph-docker-common: update etcd kv port

8 years agoceph-docker-common: update etcd kv port 1705/head
Sébastien Han [Mon, 24 Jul 2017 13:40:44 +0000 (15:40 +0200)]
ceph-docker-common: update etcd kv port

New registered port is 2379

Signed-off-by: Sébastien Han <seb@redhat.com>
8 years agoMerge pull request #1704 from ceph/filestore
Guillaume Abrioux [Mon, 24 Jul 2017 12:57:54 +0000 (14:57 +0200)]
Merge pull request #1704 from ceph/filestore

osd: refactor osd scenarios

8 years agoosd: refactor osd scenarios 1704/head
Sébastien Han [Mon, 24 Jul 2017 09:35:08 +0000 (11:35 +0200)]
osd: refactor osd scenarios

We have multiple issues with ceph-disk's cli with bluestore and Ceph
releases. This is mainly due to cli changes with Luminous. Luminous
introduced a --bluestore and --filestore options which respectively does
not exist on releases older than Luminous. The default store being
bluestore on Luminous, simply checking for the store is not enough so we
have to build a specific command line for ceph-disk depending on the
Ceph version we are running and the desired osd_store.

Signed-off-by: Sébastien Han <seb@redhat.com>
8 years agoMerge pull request #1696 from fultonj/issue-1688 v2.3.0rc4
Guits [Thu, 20 Jul 2017 13:51:59 +0000 (15:51 +0200)]
Merge pull request #1696 from fultonj/issue-1688

Allow user to define ACLs for OpenStack keys

8 years agoAllow user to define ACLs for OpenStack keys 1696/head
John Fulton [Wed, 19 Jul 2017 22:20:18 +0000 (22:20 +0000)]
Allow user to define ACLs for OpenStack keys

The keys and openstack_keys structure now supports an optional
key called acls whose value is a list of strings one could pass
to setfacl. The ansible ACL module applies the ACLs to all
openstack keys with this property.

Fixes: #1688
8 years agoMerge pull request #1694 from ceph/spread_openstack_keys v2.3.0rc3
Guits [Wed, 19 Jul 2017 18:19:50 +0000 (20:19 +0200)]
Merge pull request #1694 from ceph/spread_openstack_keys

Mon: Copy openstack keyring files on all mons

8 years agoMon: Copy openstack keyring files on all mons 1694/head
Guillaume Abrioux [Tue, 18 Jul 2017 21:11:55 +0000 (23:11 +0200)]
Mon: Copy openstack keyring files on all mons

Copies all created openstack keys on all mons.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
8 years agoCommon: Add profiles
Guillaume Abrioux [Fri, 2 Jun 2017 08:10:03 +0000 (10:10 +0200)]
Common: Add profiles

Remove `rgw enable static website` and `rgw enable usage log` from
ceph.conf and make it usable with ceph_config_overrides as profiles.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
8 years agoCommon: Avoid duplicate section in ceph.conf
Guillaume Abrioux [Fri, 2 Jun 2017 08:06:19 +0000 (10:06 +0200)]
Common: Avoid duplicate section in ceph.conf

See:
 - https://github.com/ceph/ceph-ansible/pull/1018#issuecomment-253491094
 - https://github.com/ceph/ceph-ansible/pull/1018#issuecomment-260276588

The workaround here is rendering `ceph_conf_overrides` before passing it
to `config_template` to be sure we won't have a section added twice in
ceph.conf

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
8 years agoprofiles: introducing cluster profiles
Sébastien Han [Wed, 27 Jul 2016 15:31:35 +0000 (17:31 +0200)]
profiles: introducing cluster profiles

This commit introduces a new directory called "profiles" which
contains some set of variables for a particular use case. These profiles
provide guidance for certain scenarios such as:

* configuring rgw with keystone v3

Signed-off-by: Sébastien Han <seb@redhat.com>
8 years agoMerge pull request #1693 from batrick/debian-obsolete-key
Alfredo Deza [Tue, 18 Jul 2017 19:08:33 +0000 (15:08 -0400)]
Merge pull request #1693 from batrick/debian-obsolete-key

remove obsolete debian devel repo key

8 years agoremove obsolete debian devel repo key 1693/head
Patrick Donnelly [Tue, 18 Jul 2017 15:47:47 +0000 (08:47 -0700)]
remove obsolete debian devel repo key

According to Alfredo, this was used for gitbuilders. Right now shaman/chacra
dev repos are unsigned.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
8 years agoMerge pull request #1691 from ceph/update_sample
Guits [Tue, 18 Jul 2017 13:00:26 +0000 (15:00 +0200)]
Merge pull request #1691 from ceph/update_sample

Sync group_vars/*.sample files

8 years agoMerge pull request #1687 from ceph/dev-tests
Alfredo Deza [Tue, 18 Jul 2017 12:53:25 +0000 (08:53 -0400)]
Merge pull request #1687 from ceph/dev-tests

tests: run all existing tests with shaman repos

8 years agoSync group_vars/*.sample files 1691/head
Guillaume Abrioux [Tue, 18 Jul 2017 09:00:13 +0000 (11:00 +0200)]
Sync group_vars/*.sample files

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
8 years agoMerge pull request #1677 from ceph/fix_fetch-copy_files 1692/head
Guits [Tue, 18 Jul 2017 06:39:27 +0000 (08:39 +0200)]
Merge pull request #1677 from ceph/fix_fetch-copy_files

Add the possibility to deploy a client-node in a containerized deployment

8 years agotests: add config in ceph_conf_overrides to journal collocation tests 1677/head
Guillaume Abrioux [Mon, 17 Jul 2017 22:51:08 +0000 (00:51 +0200)]
tests: add config in ceph_conf_overrides to journal collocation tests

Add config in ceph_conf_overrides options to journal collocation tests.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
8 years agoMon: Create rbd pool on luminous
Guillaume Abrioux [Mon, 17 Jul 2017 22:40:12 +0000 (00:40 +0200)]
Mon: Create rbd pool on luminous

There is no more an rbd pool that comes with luminous.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
8 years agotests: Add a client node to docker scenario
Guillaume Abrioux [Mon, 17 Jul 2017 15:11:32 +0000 (17:11 +0200)]
tests: Add a client node to docker scenario

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
8 years agotests: run all existing tests with shaman repos 1687/head
Andrew Schoen [Mon, 17 Jul 2017 15:26:48 +0000 (10:26 -0500)]
tests: run all existing tests with shaman repos

If you use the 'dev' factor, the testing scenario will
use repos from shaman.ceph.com. You can define CEPH_DEV_BRANCH
and CEPH_DEV_SHA1 to specify which repo you'd like to test.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
8 years agoDocker-common: Make `fsid` available for all roles.
Guillaume Abrioux [Mon, 17 Jul 2017 08:10:23 +0000 (10:10 +0200)]
Docker-common: Make `fsid` available for all roles.

Move condition at task level and not at include level to make `fsid`
variable available for all roles.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
8 years agoCommon: change path for fetch_directory
Guillaume Abrioux [Thu, 13 Jul 2017 14:22:54 +0000 (16:22 +0200)]
Common: change path for fetch_directory

Some tasks fetch file to `{{ fetch_directory }}/docker_mon_files` and
then try to copy from `{{ fetch_directory }}/{{ fsid }}`. That causes
the playbook to fail.

Fixes: #1683
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
8 years agoClient: keep consistency between `openstack_key` and `keys`
Guillaume Abrioux [Thu, 13 Jul 2017 15:39:35 +0000 (17:39 +0200)]
Client: keep consistency between `openstack_key` and `keys`

To keep consistency between `{{ openstack_keys }}` and `{{ keys }}`
respectively in `ceph-mon` and `ceph-client` roles.
This commit also add the possibility to set mds caps.

Fixes: #1680
Co-Authored-by: John Fulton <johfulto@redhat.com>
Co-Authored-by: Giulio Fidente <gfidente@redhat.com>
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
8 years agoMerge pull request #1675 from ceph/fix_tests_osd_listening
Andrew Schoen [Mon, 17 Jul 2017 19:07:38 +0000 (14:07 -0500)]
Merge pull request #1675 from ceph/fix_tests_osd_listening

tests: fix test_osds_listen_on_* tests

8 years agoMerge pull request #1676 from yanyixing/master v2.3.0rc2
Guits [Fri, 14 Jul 2017 07:37:03 +0000 (09:37 +0200)]
Merge pull request #1676 from yanyixing/master

fix: osd use filestore
fixes: #1678

8 years agoceph-osd: when ceph relase >= luminous add --filestore config 1676/head
yanyx [Thu, 13 Jul 2017 13:41:20 +0000 (21:41 +0800)]
ceph-osd:  when ceph relase >= luminous add --filestore config

8 years agotests: fix test_osds_listen_on_* tests 1675/head
Guillaume Abrioux [Thu, 13 Jul 2017 10:37:15 +0000 (12:37 +0200)]
tests: fix test_osds_listen_on_* tests

the `test_osds_listen_on_*` consider OSDs will always listen on tcp port
with consecutive tcp port number starting from `6800`.

Eg.
If you have 2 OSDs, tests will assume it should listen on 2 ports for each
network (`public_network` and `cluster_network`), therefore:
`6800, 6801, 6802, 6803`

but sometime it doesn't happen this way and you can get OSDs listening
on tcp port like this :

`6800, 6801, 6802, 6805`

Then the test are failing while it shouldn't.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
8 years agoMerge pull request #1673 from ceph/add_to_e5d06a4
Guits [Thu, 13 Jul 2017 07:43:46 +0000 (09:43 +0200)]
Merge pull request #1673 from ceph/add_to_e5d06a4

vagrantfile: Ensure `devices` variable is a list

8 years agovagrantfile: Ensure `devices` variable is a list 1673/head
Guillaume Abrioux [Wed, 12 Jul 2017 21:23:59 +0000 (23:23 +0200)]
vagrantfile: Ensure `devices` variable is a list

in addition to e5d06a4 make sure devices variable will be a list even
with vagrant.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
8 years agoMerge pull request #1666 from ceph/ceph-conf-interfaces
Guits [Wed, 12 Jul 2017 18:38:59 +0000 (20:38 +0200)]
Merge pull request #1666 from ceph/ceph-conf-interfaces

use host specific value for monitor_interface in ceph.conf creation

8 years agoceph-common: make sure monitor_interface or monitor_address is defined 1666/head
Andrew Schoen [Thu, 6 Jul 2017 18:59:17 +0000 (13:59 -0500)]
ceph-common: make sure monitor_interface or monitor_address is defined

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
8 years agotests: remove monitor_interface from centos/7/cluster/group_vars/all
Andrew Schoen [Thu, 6 Jul 2017 18:36:54 +0000 (13:36 -0500)]
tests: remove monitor_interface from centos/7/cluster/group_vars/all

This is to ensure that the template must use the values set in the
inventory.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
8 years agoceph-common: fixes bug related to monitor_interface set in inventory
Andrew Schoen [Thu, 6 Jul 2017 18:33:49 +0000 (13:33 -0500)]
ceph-common: fixes bug related to monitor_interface set in inventory

The ceph.conf template needs to look for the value of monitor_interface
in hostvars[host] because there might be different values set per host.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
8 years agoMerge pull request #1656 from ceph/luminous-testing-6
Guits [Wed, 12 Jul 2017 14:31:28 +0000 (16:31 +0200)]
Merge pull request #1656 from ceph/luminous-testing-6

Luminous testing

8 years agoTests: Add an mgr node do dmcrypt-dedicated-journal 1656/head
Guillaume Abrioux [Tue, 11 Jul 2017 19:20:43 +0000 (21:20 +0200)]
Tests: Add an mgr node do dmcrypt-dedicated-journal

Add an mgr node to `dmcrypt-dedicated-journal` scenario testing.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
8 years agoUpdate: Avoid screen scraping in rolling update
Guillaume Abrioux [Tue, 11 Jul 2017 13:36:01 +0000 (15:36 +0200)]
Update: Avoid screen scraping in rolling update

since luminous has revamped the `ceph -s` output, we need to avoid screen
scraping.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
8 years agoDocker: Fix bug "waiting for /dev/XXX to show up"
Guillaume Abrioux [Sun, 9 Jul 2017 09:40:40 +0000 (11:40 +0200)]
Docker: Fix bug "waiting for /dev/XXX to show up"

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
8 years agoTests: rename tests directories
Guillaume Abrioux [Fri, 7 Jul 2017 16:30:06 +0000 (18:30 +0200)]
Tests: rename tests directories

Since we are hitting this bug :

https://bugzilla.redhat.com/show_bug.cgi?id=1324587
eg:

`failed: internal error: Monitor path /var/lib/libvirt/qemu/domain-bs-docker-cl
uster-dmcrypt-journal-collocation_mon0_1499294943_ba9faf7bf296533177f6/monitor.
sock too big for destination`

and we can't upgrade libvirt in our CI for some reason

we need to get the directories name shorter in order to workaround this
issue

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
8 years agoOsd: Fix bug 'uniq' command not found
Guillaume Abrioux [Fri, 7 Jul 2017 15:46:31 +0000 (17:46 +0200)]
Osd: Fix bug 'uniq' command not found

Due to a breaking space introduced by d2320e412e the command here is
broken.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
8 years agoTests: Add bluestore scenarios
Guillaume Abrioux [Wed, 12 Jul 2017 13:02:32 +0000 (15:02 +0200)]
Tests: Add bluestore scenarios

Since we started testing against Luminous, we need to add more scenarios
testing.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
8 years agoOsd: Force filestore and bluestore usage
Guillaume Abrioux [Wed, 5 Jul 2017 22:01:31 +0000 (00:01 +0200)]
Osd: Force filestore and bluestore usage

In Luminous, ceph-disk defaults to bluestore so all our scenarios are
using bluestore, we need to force testing both.

Signed-off-by: Sébastien Han <seb@redhat.com>
Co-Authored-by: Guillaume Abrioux <gabrioux@redhat.com>
8 years agotests: allow bluestore devices
Sébastien Han [Wed, 5 Jul 2017 08:45:25 +0000 (10:45 +0200)]
tests: allow bluestore devices

Signed-off-by: Sébastien Han <seb@redhat.com>
8 years agotests: fix block.db partition size
Sébastien Han [Wed, 5 Jul 2017 08:38:22 +0000 (10:38 +0200)]
tests: fix block.db partition size

Our devices in the CI are 12GB, there are not big enough for the default
size. Reducing its size.

Signed-off-by: Sébastien Han <seb@redhat.com>
8 years agotesting: add luminous factor for testing
Alfredo Deza [Mon, 15 May 2017 16:46:49 +0000 (12:46 -0400)]
testing: add luminous factor for testing

Signed-off-by: Alfredo Deza <adeza@redhat.com>
Co-Authored-by: Guillaume Abrioux <gabrioux@redhat.com>
8 years agoMerge pull request #1664 from ceph/client-role
Guits [Fri, 7 Jul 2017 15:13:55 +0000 (17:13 +0200)]
Merge pull request #1664 from ceph/client-role

site: docker add client role

8 years agosite: docker add client role 1664/head
Sébastien Han [Fri, 7 Jul 2017 15:01:58 +0000 (17:01 +0200)]
site: docker add client role

Signed-off-by: Sébastien Han <seb@redhat.com>
8 years agoMerge pull request #1663 from ceph/add_docker_custom_admin_secret
Sébastien Han [Fri, 7 Jul 2017 14:46:03 +0000 (16:46 +0200)]
Merge pull request #1663 from ceph/add_docker_custom_admin_secret

Doc: containerized deploy with custom admin secret

8 years agoDoc: containerized deploy with custom admin secret 1663/head
Guillaume Abrioux [Fri, 7 Jul 2017 13:48:53 +0000 (15:48 +0200)]
Doc: containerized deploy with custom admin secret

In addition to ceph/ceph-docker@69d9aa6, this explains how to deploy a
containerized cluster with a custom admin secret.
Basically, just need to pass the `admin_secret` defined in your
`group_vars/all.yml` to the `ceph_mon_docker_extra_env` variable.

Eg:

`ceph_mon_docker_extra_env: -e CLUSTER={{ cluster }} -e FSID={{ fsid }}
-e MON_NAME={{ monitor_name }} -e ADMIN_SECRET={{ admin_secret }}`

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
8 years agoMerge pull request #1644 from fullerdj/wip-djf-check-devices
Sébastien Han [Fri, 7 Jul 2017 13:48:39 +0000 (15:48 +0200)]
Merge pull request #1644 from fullerdj/wip-djf-check-devices

osd: validate devices variable input

8 years agoMerge pull request #1662 from fullerdj/wip-djf-install-rsync
Sébastien Han [Fri, 7 Jul 2017 13:46:22 +0000 (15:46 +0200)]
Merge pull request #1662 from fullerdj/wip-djf-install-rsync

common: ensure rsync is installed for local install

8 years agoosd: validate devices variable input 1644/head
Douglas Fuller [Mon, 3 Jul 2017 15:10:16 +0000 (15:10 +0000)]
osd: validate devices variable input

Fail with a sane message if the devices or raw_journal_devices variables
are strings instead of lists during manual device assignment.

Signed-off-by: Douglas Fuller <dfuller@redhat.com>
8 years agocommon: ensure rsync is installed for local install 1662/head
Douglas Fuller [Thu, 6 Jul 2017 17:29:43 +0000 (17:29 +0000)]
common: ensure rsync is installed for local install

rsync is required by the ansible synchronize package. Ensure
it is installed when local installation is selected.

Signed-off-by: Douglas Fuller <dfuller@redhat.com>
8 years agoMerge pull request #1627 from ceph/ceph-osd-prepare-script
Sébastien Han [Thu, 6 Jul 2017 14:08:59 +0000 (16:08 +0200)]
Merge pull request #1627 from ceph/ceph-osd-prepare-script

osd: docker, refactor ceph-osd-run.sh.j2

8 years agoosd: docker, refactor ceph-osd-run.sh.j2 1627/head
Sébastien Han [Mon, 26 Jun 2017 13:40:30 +0000 (15:40 +0200)]
osd: docker, refactor ceph-osd-run.sh.j2

Easier to read and enhance.

Signed-off-by: Sébastien Han <seb@redhat.com>
8 years agoMerge pull request #1657 from ceph/fix_tests_docker-dmcrypt-journal-colloc
Sébastien Han [Thu, 6 Jul 2017 11:49:31 +0000 (13:49 +0200)]
Merge pull request #1657 from ceph/fix_tests_docker-dmcrypt-journal-colloc

Tests: fix scenario for docker-cluster-dmcrypt-journal-collocation

8 years agoTests: fix scenario for docker-cluster-dmcrypt-journal-collocation 1657/head
Guillaume Abrioux [Thu, 6 Jul 2017 06:10:50 +0000 (08:10 +0200)]
Tests: fix scenario for docker-cluster-dmcrypt-journal-collocation

The scenario set in `group_vars/all` for
docker-cluster-dmcrypt-journal-collocation is not the correct one.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
8 years agoMerge pull request #1649 from ceph/fix_1630
Sébastien Han [Wed, 5 Jul 2017 13:42:47 +0000 (15:42 +0200)]
Merge pull request #1649 from ceph/fix_1630

Mon: Allow to deploy with custom admin secret

8 years agoMon: Allow to deploy with custom admin secret 1649/head
Guillaume Abrioux [Wed, 5 Jul 2017 09:07:00 +0000 (11:07 +0200)]
Mon: Allow to deploy with custom admin secret

Add a new parameter `admin_secret` that allow to deploy a ceph cluster
with a custom admin secret.

Fix: #1630

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
8 years agotest: fix docker dmcrypt collocated scenario
Sébastien Han [Fri, 30 Jun 2017 12:52:04 +0000 (14:52 +0200)]
test: fix docker dmcrypt collocated scenario

We were setting journal_collocation and used raw_journal_devices which
is definitely wrong. We should just stick with devices.

Signed-off-by: Sébastien Han <seb@redhat.com>
8 years agoMerge pull request #1632 from ceph/bluestore-redundant-options
Sébastien Han [Tue, 4 Jul 2017 17:33:54 +0000 (19:33 +0200)]
Merge pull request #1632 from ceph/bluestore-redundant-options

osd: remove redundant options to enable bluestore

8 years agoTests: Add bluestore tests 1632/head
Guillaume Abrioux [Tue, 4 Jul 2017 15:12:32 +0000 (17:12 +0200)]
Tests: Add bluestore tests

Add two scenarios bluestore_journal_collocation and bluestore_cluster.

Signed-off-by: Sébastien Han <seb@redhat.com>
8 years agoosd: ability to set db and wal to bluestore
Sébastien Han [Thu, 29 Jun 2017 15:34:54 +0000 (17:34 +0200)]
osd: ability to set db and wal to bluestore

This commits refactors how we deploy bluestore. We have existing
scenarios that we don't want to change too much. This commits eases the
user experience by now changing the way you use scenarios. Bluestore is
just a different interface to store objects but the scenarios more or
less remain the same.

If you set osd_objectstore == 'bluestore' along with
journal_collocation: true, you will get an OSD running bluestore with DB
and WAL partitions on the same device.

If you set osd_objectstore == 'bluestore' along with
raw_multi_journal: true, you will get an OSD running bluestore with a
dedicated drive for the rocksdb DB, then the remaining
drives (used with 'devices') will have WAL and DATA collocated.

If you set osd_objectstore == 'bluestore' along with
raw_multi_journal: true and declare bluestore_wal_devices you will get
an OSD running bluestore with a dedicated drive for rocksdb db, a
dedicated drive partition for rocksdb WAL and a dedicated drive for
DATA.

Signed-off-by: Sébastien Han <seb@redhat.com>
8 years agoMerge pull request #1597 from czunker/openstack_pools_with_rule
Sébastien Han [Tue, 4 Jul 2017 16:34:00 +0000 (18:34 +0200)]
Merge pull request #1597 from czunker/openstack_pools_with_rule

Create OpenStack pools with crush rule

8 years agoosd: remove redundant options to enable bluestore
Sébastien Han [Thu, 29 Jun 2017 14:52:33 +0000 (16:52 +0200)]
osd: remove redundant options to enable bluestore

There is no need for 2 variables to enable bluestore, prior to this
patch one had to do the following to activate bluestore:

osd_objectstore: bluestore
bluestore: true

Now you just need to set `osd_objectstore: bluestore`.

Fixes: https://github.com/ceph/ceph-ansible/issues/1475
Signed-off-by: Sébastien Han <seb@redhat.com>
8 years agoMerge pull request #1646 from ceph/fix_check_mandatory_vars
Sébastien Han [Tue, 4 Jul 2017 16:20:52 +0000 (18:20 +0200)]
Merge pull request #1646 from ceph/fix_check_mandatory_vars

Docker-common: Add missing variables declaration

8 years agoRefact: remove ceph_mon_docker_interface variable 1646/head
Guillaume Abrioux [Tue, 4 Jul 2017 16:08:59 +0000 (18:08 +0200)]
Refact: remove ceph_mon_docker_interface variable

remove `ceph_mon_docker_interface` and use `monitor_interface` instead
for both containerized and non-containerized deployment.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
8 years agoCommon: monitor_address_block is always defined
Guillaume Abrioux [Tue, 4 Jul 2017 15:29:26 +0000 (17:29 +0200)]
Common: monitor_address_block is always defined

monitor_address_block is always defined.
We need to check for true or false instead.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
8 years agoDocker-common: Add missing variables declaration
Guillaume Abrioux [Tue, 4 Jul 2017 14:43:58 +0000 (16:43 +0200)]
Docker-common: Add missing variables declaration

Some variables are missing from ceph-docker-common role since the
include of check_mandatory_vars.yml has been re-added in the ceph-mon
role.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
8 years agoMerge pull request #1594 from ceph/ipv6_support
Sébastien Han [Tue, 4 Jul 2017 13:08:47 +0000 (15:08 +0200)]
Merge pull request #1594 from ceph/ipv6_support

Common: Add ipv6 support

8 years agoAdd python-netaddr dependency 1594/head
Guillaume Abrioux [Mon, 3 Jul 2017 14:07:54 +0000 (16:07 +0200)]
Add python-netaddr dependency

the monitor_address_block feature requires `python-netaddr` package.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
8 years agoMon: Readd the include of check_mandatory_vars.yml
Guillaume Abrioux [Mon, 3 Jul 2017 13:54:43 +0000 (15:54 +0200)]
Mon: Readd the include of check_mandatory_vars.yml

The check regarding the networking scenario configuration has been
moved from ceph-common to ceph-mon in 1de8176 but the include was not re-added
in 189f4fe

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
8 years agoDoc: Add a note to clarify how to setup network
Guillaume Abrioux [Wed, 21 Jun 2017 13:55:41 +0000 (15:55 +0200)]
Doc: Add a note to clarify how to setup network

Explain how to setup networking in ceph-ansible by adding a note in
README.md.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
8 years agoTests: update tests according to ipv6 support
Guillaume Abrioux [Wed, 21 Jun 2017 12:14:35 +0000 (14:14 +0200)]
Tests: update tests according to ipv6 support

Since ceph.conf.j2 has been updated to add ipv6 support, the different
variables in many scenarios need to be updated.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
8 years agoCommon: Add ipv6 support
Guillaume Abrioux [Wed, 7 Jun 2017 11:26:04 +0000 (13:26 +0200)]
Common: Add ipv6 support

e8187f6 does not fix the ipv6 as expected since `ansible_default_*` are
filled with the IP address carried by the network interface used by the
default gateway route. By the way, it assumes that the MON_IP address will
be this IP address which is not always the case.

We need to keep using the previous fact but add some intelligence in the
template to determine how to retrieve the ipv4|ipv6 address since the path
to the fact in `hostvars` is not the same according to ipv4 vs ipv6 case.

Fix: 1569

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
8 years agoCreate OpenStack pools with crush rule 1597/head
Christian Zunker [Mon, 12 Jun 2017 08:36:29 +0000 (08:36 +0000)]
Create OpenStack pools with crush rule

Add an extra variable to the openstack pools, which creates them with
defined rules. This will allow to place different pools on e.g.
different type of disks.

This commit will also set a new default rule when defined and move
the rbd pool to the new rule.

8 years agoMerge pull request #1636 from fghaas/fix-mon-directory-perms
Sébastien Han [Mon, 3 Jul 2017 09:19:53 +0000 (11:19 +0200)]
Merge pull request #1636 from fghaas/fix-mon-directory-perms

Ensure that ceph-mon applies mon directory ownership recursively

8 years agoMerge pull request #1633 from fullerdj/wip-djf-osd-seatbelt
Sébastien Han [Fri, 30 Jun 2017 08:58:41 +0000 (10:58 +0200)]
Merge pull request #1633 from fullerdj/wip-djf-osd-seatbelt

ansible: fail if user selects OSD auto detection and raw devices are …

8 years agoEnsure that ceph-mon applies mon directory ownership recursively 1636/head
Florian Haas [Fri, 30 Jun 2017 08:17:23 +0000 (10:17 +0200)]
Ensure that ceph-mon applies mon directory ownership recursively

Fixes #1635.

Signed-off-by: Florian Haas <florian@hastexo.com>
8 years agoansible: fail if user selects OSD auto detection and raw devices are mounted 1633/head
Douglas Fuller [Thu, 29 Jun 2017 15:53:44 +0000 (15:53 +0000)]
ansible: fail if user selects OSD auto detection and raw devices are mounted

Signed-off-by: Douglas Fuller <dfuller@redhat.com>
8 years agoMerge pull request #1629 from ceph/fix-openstack-key
Sébastien Han [Tue, 27 Jun 2017 12:58:36 +0000 (14:58 +0200)]
Merge pull request #1629 from ceph/fix-openstack-key

mon: fix openstack key creation

8 years agomon: fix openstack key creation 1629/head
Sébastien Han [Tue, 27 Jun 2017 09:47:02 +0000 (11:47 +0200)]
mon: fix openstack key creation

Somehow the shell module will return an error if the command line is not
next to it.
Plus fixed the import with the right path.

Signed-off-by: Sébastien Han <seb@redhat.com>
8 years agoMerge pull request #1626 from ceph/fix_followup
Sébastien Han [Mon, 26 Jun 2017 16:07:06 +0000 (18:07 +0200)]
Merge pull request #1626 from ceph/fix_followup

Fix followup

8 years agoFix followup on refact code (1469) 1626/head
Guillaume Abrioux [Mon, 26 Jun 2017 13:28:30 +0000 (15:28 +0200)]
Fix followup on refact code (1469)

In addition to 7bb04a5, these lines are no longer needed and can even
cause playbook failures.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>