Commit Graph

2852 Commits (e9d285a98c6a3b7a230ed4bfea38b258632fc3f1)
 

Author SHA1 Message Date
Sébastien Han 33c1f0cb03 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>
2017-07-24 13:48:08 +02:00
Guits 04c1e21d56 Merge pull request #1696 from fultonj/issue-1688
Allow user to define ACLs for OpenStack keys
2017-07-20 15:51:59 +02:00
John Fulton 73633f05a0 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
2017-07-20 13:20:16 +00:00
Guits 94651197ff Merge pull request #1694 from ceph/spread_openstack_keys
Mon: Copy openstack keyring files on all mons
2017-07-19 20:19:50 +02:00
Guillaume Abrioux 07fb79ce13 Mon: Copy openstack keyring files on all mons
Copies all created openstack keys on all mons.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
2017-07-19 16:28:18 +00:00
Guillaume Abrioux 233696d1b1 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>
2017-07-19 11:50:03 +02:00
Guillaume Abrioux 894df4b8c8 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>
2017-07-19 11:50:03 +02:00
Sébastien Han fcba2c801a 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>
2017-07-19 11:50:03 +02:00
Alfredo Deza 92fc34eb9f Merge pull request #1693 from batrick/debian-obsolete-key
remove obsolete debian devel repo key
2017-07-18 15:08:33 -04:00
Patrick Donnelly 8800a23c38
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>
2017-07-18 08:47:47 -07:00
Guits f1901bff83 Merge pull request #1691 from ceph/update_sample
Sync group_vars/*.sample files
2017-07-18 15:00:26 +02:00
Alfredo Deza bc0678e17d Merge pull request #1687 from ceph/dev-tests
tests: run all existing tests with shaman repos
2017-07-18 08:53:25 -04:00
Guillaume Abrioux e484facca1 Sync group_vars/*.sample files
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
2017-07-18 11:00:13 +02:00
Guits b3ac49f750 Merge pull request #1677 from ceph/fix_fetch-copy_files
Add the possibility to deploy a client-node in a containerized deployment
2017-07-18 08:39:27 +02:00
Guillaume Abrioux 0c1352277c 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>
2017-07-18 01:02:02 +02:00
Guillaume Abrioux 151d59db4e 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>
2017-07-18 01:01:53 +02:00
Guillaume Abrioux 0570008718 tests: Add a client node to docker scenario
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
2017-07-17 22:47:35 +02:00
Andrew Schoen 7293c40c40 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>
2017-07-17 14:42:32 -05:00
Guillaume Abrioux 14d2d08340 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>
2017-07-17 21:11:01 +02:00
Guillaume Abrioux d11975800c 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>
2017-07-17 21:11:01 +02:00
Guillaume Abrioux d0311c6aa3 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>
2017-07-17 21:11:01 +02:00
Andrew Schoen a98b723a6a Merge pull request #1675 from ceph/fix_tests_osd_listening
tests: fix test_osds_listen_on_* tests
2017-07-17 14:07:38 -05:00
Guits 8f85beece7 Merge pull request #1676 from yanyixing/master
fix: osd use filestore
fixes: #1678
2017-07-14 09:37:03 +02:00
yanyx 7e56b5c531 ceph-osd: when ceph relase >= luminous add --filestore config 2017-07-14 09:53:59 +08:00
Guillaume Abrioux 14dbcb122c 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>
2017-07-13 12:37:15 +02:00
Guits 1634087b4c Merge pull request #1673 from ceph/add_to_e5d06a4
vagrantfile: Ensure `devices` variable is a list
2017-07-13 09:43:46 +02:00
Guillaume Abrioux 17565fee5d 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>
2017-07-13 00:44:49 +02:00
Guits 49de6f9a5b Merge pull request #1666 from ceph/ceph-conf-interfaces
use host specific value for monitor_interface in ceph.conf creation
2017-07-12 20:38:59 +02:00
Andrew Schoen 4e87c1f0f5 ceph-common: make sure monitor_interface or monitor_address is defined
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2017-07-12 16:34:41 +02:00
Andrew Schoen 7029be70fa 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>
2017-07-12 16:34:41 +02:00
Andrew Schoen a9a3d24a3d 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>
2017-07-12 16:34:41 +02:00
Guits b9be96983c Merge pull request #1656 from ceph/luminous-testing-6
Luminous testing
2017-07-12 16:31:28 +02:00
Guillaume Abrioux 1183112ee7 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>
2017-07-12 15:02:39 +02:00
Guillaume Abrioux 828f88403e 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>
2017-07-12 15:02:39 +02:00
Guillaume Abrioux 30a0fa31e3 Docker: Fix bug "waiting for /dev/XXX to show up"
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
2017-07-12 15:02:39 +02:00
Guillaume Abrioux f16841e09e 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>
2017-07-12 15:02:39 +02:00
Guillaume Abrioux 0a38bfaadc 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>
2017-07-12 15:02:39 +02:00
Guillaume Abrioux 94c3756167 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>
2017-07-12 15:02:32 +02:00
Guillaume Abrioux a517ab5583 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>
2017-07-12 11:30:30 +02:00
Sébastien Han 476d1677eb tests: allow bluestore devices
Signed-off-by: Sébastien Han <seb@redhat.com>
2017-07-11 22:08:35 +02:00
Sébastien Han ed8a7cf1e0 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>
2017-07-11 22:08:35 +02:00
Alfredo Deza d5ee82d295 testing: add luminous factor for testing
Signed-off-by: Alfredo Deza <adeza@redhat.com>
Co-Authored-by: Guillaume Abrioux <gabrioux@redhat.com>
2017-07-11 22:08:15 +02:00
Guits 08796ef809 Merge pull request #1664 from ceph/client-role
site: docker add client role
2017-07-07 17:13:55 +02:00
Sébastien Han 108503da96 site: docker add client role
Signed-off-by: Sébastien Han <seb@redhat.com>
2017-07-07 17:01:58 +02:00
Sébastien Han f678b11d3d Merge pull request #1663 from ceph/add_docker_custom_admin_secret
Doc: containerized deploy with custom admin secret
2017-07-07 16:46:03 +02:00
Guillaume Abrioux da755cb317 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>
2017-07-07 16:29:56 +02:00
Sébastien Han 0f1f4388da Merge pull request #1644 from fullerdj/wip-djf-check-devices
osd: validate devices variable input
2017-07-07 15:48:39 +02:00
Sébastien Han 5245473b3c Merge pull request #1662 from fullerdj/wip-djf-install-rsync
common: ensure rsync is installed for local install
2017-07-07 15:46:22 +02:00
Douglas Fuller e5d06a449f 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>
2017-07-07 13:37:29 +00:00
Douglas Fuller 79ba50cd9f 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>
2017-07-06 17:29:43 +00:00