]> git.apps.os.sepia.ceph.com Git - ceph-ansible.git/log
ceph-ansible.git
6 years agolint: Don't compare to literal True/False
Sébastien Han [Thu, 1 Nov 2018 13:02:55 +0000 (14:02 +0100)]
lint: Don't compare to literal True/False

Use `when: var` rather than `when: var == True`

Signed-off-by: Sébastien Han <seb@redhat.com>
6 years agoremove ceph-common-coreos role
Sébastien Han [Thu, 1 Nov 2018 11:52:00 +0000 (12:52 +0100)]
remove ceph-common-coreos role

This role is not maintained and not tested so removing it.

Signed-off-by: Sébastien Han <seb@redhat.com>
6 years agolint: meta add company info
Sébastien Han [Thu, 1 Nov 2018 12:02:16 +0000 (13:02 +0100)]
lint: meta add company info

Signed-off-by: Sébastien Han <seb@redhat.com>
6 years agolint: do not use local_action
Sébastien Han [Thu, 1 Nov 2018 11:50:31 +0000 (12:50 +0100)]
lint: do not use local_action

Use delegate_to: localhost instead.

Signed-off-by: Sébastien Han <seb@redhat.com>
6 years agolint: use galaxy_tags instead of categories
Sébastien Han [Thu, 1 Nov 2018 11:49:34 +0000 (12:49 +0100)]
lint: use galaxy_tags instead of categories

Update the meta

Signed-off-by: Sébastien Han <seb@redhat.com>
6 years agolint: line length should not exceed 160 chars
Sébastien Han [Thu, 1 Nov 2018 11:48:59 +0000 (12:48 +0100)]
lint: line length should not exceed 160 chars

Line was too long

Signed-off-by: Sébastien Han <seb@redhat.com>
6 years agolint: yaml space before and after {{ }}
Sébastien Han [Thu, 1 Nov 2018 11:47:17 +0000 (12:47 +0100)]
lint: yaml space before and after {{  }}

Fix tasks using variables that did not have space before and after {{
  }}

Signed-off-by: Sébastien Han <seb@redhat.com>
6 years agotravis: add ansible-galaxy linter
Sébastien Han [Wed, 31 Oct 2018 18:01:53 +0000 (19:01 +0100)]
travis: add ansible-galaxy linter

Run the same rules as the galaxy.
If the rules return an error then the roles who be uploaded to the
galaxy so we must make sure they pass.

Signed-off-by: Sébastien Han <seb@redhat.com>
6 years agomisc: rm useless file
Sébastien Han [Wed, 31 Oct 2018 18:01:04 +0000 (19:01 +0100)]
misc: rm useless file

This file is not correct anymore since the ansible galaxy contains the
entire repo in it.

Signed-off-by: Sébastien Han <seb@redhat.com>
6 years agodon't loop over a task using package management modules
Rishabh Dave [Wed, 31 Oct 2018 16:07:25 +0000 (12:07 -0400)]
don't loop over a task using package management modules

For tasks using (Ansible) modules for package management utilities,
pass the list of packages to be installed instead of repeating the task
for each package. Using the latter manner of installing a list of
packages leads to a deprecation warning by ansible-playbook command.

Fixes: https://github.com/ceph/ceph-ansible/issues/3293
Signed-off-by: Rishabh Dave <ridave@redhat.com>
6 years agoremove configuration files for ceph packages on ubuntu clusters
Rishabh Dave [Wed, 31 Oct 2018 14:46:13 +0000 (10:46 -0400)]
remove configuration files for ceph packages on ubuntu clusters

For apt-get, purge command needs to be used, instead of remove command,
to remove related configuration files. Otherwise, packages might be
shown as installed while running dpkg command even after removing them.

Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1640061
Signed-off-by: Rishabh Dave <ridave@redhat.com>
6 years agotests: test ooo_collocation agasint v3.0.3 ceph-container image
Guillaume Abrioux [Tue, 6 Nov 2018 08:17:29 +0000 (09:17 +0100)]
tests: test ooo_collocation agasint v3.0.3 ceph-container image

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
6 years agorbd-mirror: enable ceph-rbd-mirror.target
Sébastien Han [Mon, 5 Nov 2018 17:53:44 +0000 (18:53 +0100)]
rbd-mirror: enable ceph-rbd-mirror.target

Without this the daemon will never start after reboot.

Signed-off-by: Sébastien Han <seb@redhat.com>
6 years agoceph-validate : Added functions to accept true and flase
VasishtaShastry [Sun, 28 Oct 2018 17:37:21 +0000 (23:07 +0530)]
ceph-validate : Added functions to accept true and flase

ceph-validate used to throw error for setting flags as 'true' or 'false' for True and False
Now user can set the flags 'dmcrypt' and 'osd_auto_discovery' as 'true' or 'false'

Will fix - Bug 1638325

Signed-off-by: VasishtaShastry <vipin.indiasmg@gmail.com>
6 years agoceph-common: update_cache whenever a new deb repo is added
Alfredo Deza [Thu, 1 Nov 2018 18:48:06 +0000 (14:48 -0400)]
ceph-common: update_cache whenever a new deb repo is added

The use of a handler meant that the cache would be updated at the very
end of the play, which doesn't work when adding a development repo and
trying to install right after it. This mostly reverts
53cdddf88699263763b36643565e5f846d9d13a8 without an actual `git revert`
because that caused other conflicts.

Signed-off-by: Alfredo Deza <adeza@redhat.com>
6 years agoremove task named "include ntp debian setup tasks"
Rishabh Dave [Thu, 1 Nov 2018 13:46:03 +0000 (19:16 +0530)]
remove task named "include ntp debian setup tasks"

The task was included by mistake while resolving a merge confict for
commit 8edbda96df6896d51703fcc250f562abb4011a2d. The task removed in
commit b3a71eeb08e9cdb2607ed60d724f387a0a24d3de.

Fixes: https://github.com/ceph/ceph-ansible/issues/3292
Signed-off-by: Rishabh Dave <ridave@redhat.com>
6 years agogalaxy roles: polish metadata
Sébastien Han [Wed, 31 Oct 2018 16:42:44 +0000 (17:42 +0100)]
galaxy roles: polish metadata

Update the meta with the relavant support such as:

* ansible version: min 2.4
* distro supported (tested on) centos 7

Signed-off-by: Sébastien Han <seb@redhat.com>
6 years agoremove roles symlinks
Sébastien Han [Wed, 31 Oct 2018 16:41:23 +0000 (17:41 +0100)]
remove roles symlinks

These 2 symlinks are not needed anymore as the whole ceph-ansible repo
is now in ansible galaxy.

Signed-off-by: Sébastien Han <seb@redhat.com>
6 years agoroles: add missing meta on roles
Sébastien Han [Wed, 31 Oct 2018 16:34:42 +0000 (17:34 +0100)]
roles: add missing meta on roles

In order to have roles in the Ansible galaxy, we must have a meta
directory.

Signed-off-by: Sébastien Han <seb@redhat.com>
6 years agolint yaml: remove blank lines
Sébastien Han [Wed, 31 Oct 2018 14:52:54 +0000 (15:52 +0100)]
lint yaml: remove blank lines

Fixes : [error] too many blank lines (1 > 0)

Signed-off-by: Sébastien Han <seb@redhat.com>
6 years agoiscsi: rm README entry
Sébastien Han [Wed, 31 Oct 2018 14:49:55 +0000 (15:49 +0100)]
iscsi: rm README entry

The file does not bring much to the repo.

Signed-off-by: Sébastien Han <seb@redhat.com>
6 years agolint: use command instead of shell
Sébastien Han [Tue, 30 Oct 2018 16:16:05 +0000 (17:16 +0100)]
lint: use command instead of shell

Use command when the tasks does not have any pipes or wilcards.

Signed-off-by: Sébastien Han <seb@redhat.com>
6 years agolint: skip the linter
Sébastien Han [Tue, 30 Oct 2018 16:13:20 +0000 (17:13 +0100)]
lint: skip the linter

Do not run the linter for these 3:

* we use latest for pip docker-py package
* for ssl keys this is a false positive since the inital command is a
'shell' it'll always change
* for keystone, we must use shell since the with_items contains pipes

Signed-off-by: Sébastien Han <seb@redhat.com>
6 years agolint: remove trailling spaces
Sébastien Han [Tue, 30 Oct 2018 16:12:33 +0000 (17:12 +0100)]
lint: remove trailling spaces

Signed-off-by: Sébastien Han <seb@redhat.com>
6 years agoceph-common: use yum install of shell
Sébastien Han [Tue, 30 Oct 2018 15:45:07 +0000 (16:45 +0100)]
ceph-common: use yum install of shell

Use yum module to list repos and then activate them if needed.

Signed-off-by: Sébastien Han <seb@redhat.com>
6 years agoceph-common: use a handler
Sébastien Han [Tue, 30 Oct 2018 14:53:07 +0000 (15:53 +0100)]
ceph-common: use a handler

We need a handler because the task changed, the old implementation was
basically mimicing a handler.

Signed-off-by: Sébastien Han <seb@redhat.com>
6 years agolint: add changed_when to command
Sébastien Han [Tue, 30 Oct 2018 14:51:32 +0000 (15:51 +0100)]
lint: add changed_when to command

Calling command should have changed_when false otherwise each time it
runs it will show as 'changed' and this is irrelevant.
Commands should not change things if nothing needs doing

Signed-off-by: Sébastien Han <seb@redhat.com>
6 years agolint: name tasks
Sébastien Han [Tue, 30 Oct 2018 14:51:03 +0000 (15:51 +0100)]
lint: name tasks

Tasks must have names.

Signed-off-by: Sébastien Han <seb@redhat.com>
6 years agomon: use `_current_monitor_address` in systemd unit file
Guillaume Abrioux [Mon, 15 Oct 2018 13:25:24 +0000 (15:25 +0200)]
mon: use `_current_monitor_address` in systemd unit file

Let's avoid a jinja loop and use `_current_monitor_address` to get the
monitor address.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
6 years agomon: refact docker/main.yml
Guillaume Abrioux [Mon, 15 Oct 2018 13:23:32 +0000 (15:23 +0200)]
mon: refact docker/main.yml

since the jinja logic has been moved into ansible task, we can simply
this part of the code and use `_current_monitor_address`

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
6 years agodefaults: add a fact '_current_monitor_address'
Guillaume Abrioux [Mon, 15 Oct 2018 13:22:40 +0000 (15:22 +0200)]
defaults: add a fact '_current_monitor_address'

So we don't have to loop over `_monitor_addresses` when we need the
monitor address of the current node being played.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
6 years agoconfig: remove complex jinja logic in ceph.conf.j2
Guillaume Abrioux [Wed, 3 Oct 2018 14:09:33 +0000 (16:09 +0200)]
config: remove complex jinja logic in ceph.conf.j2

using consecutive set_fact in the playbook instead of complex jinja syntax
makes ceph.conf.j2 more readable.
By the way, jinja can be painful to debug at some point.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
6 years agoplaybook: remove jinja syntax in when statement
Guillaume Abrioux [Mon, 29 Oct 2018 19:28:29 +0000 (20:28 +0100)]
playbook: remove jinja syntax in when statement

this syntax in deprecated

Closes: #3281
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
6 years agoRevert "DNM: allow expanding Jinja2 template for Ansible custom plugin"
Rishabh Dave [Wed, 31 Oct 2018 10:51:33 +0000 (16:21 +0530)]
Revert "DNM: allow expanding Jinja2 template for Ansible custom plugin"

This reverts commit 192c0baf03d83741a83918de25fd7ae9a2771cb3.

6 years agoRevert "DNM: use ansible 2.7 for testing this PR"
Rishabh Dave [Wed, 31 Oct 2018 10:51:20 +0000 (16:21 +0530)]
Revert "DNM: use ansible 2.7 for testing this PR"

This reverts commit 162010d90eb2d7ec8bb04508ffd4ddb256aec5cd.

6 years agoDNM: allow expanding Jinja2 template for Ansible custom plugin
Rishabh Dave [Mon, 15 Oct 2018 19:02:42 +0000 (00:32 +0530)]
DNM: allow expanding Jinja2 template for Ansible custom plugin

This code should probably move to Ansible codebase.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
6 years agoDNM: use ansible 2.7 for testing this PR
Rishabh Dave [Fri, 5 Oct 2018 08:56:00 +0000 (04:56 -0400)]
DNM: use ansible 2.7 for testing this PR

Signed-off-by: Rishabh Dave <ridave@redhat.com>
6 years agodon't use "role" or "roles" to include roles
Rishabh Dave [Mon, 1 Oct 2018 15:43:24 +0000 (11:43 -0400)]
don't use "role" or "roles" to include roles

Since import_role and include_role are more readable, explicit (about
the nature of inclusion) and flexible (allows placibf inclusion
anywhere) amongst the tasks, use them instead of using roles or role
keyword. Besides, these keywords also allow more arguments.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
6 years agouse blocks directives to group tasks
Rishabh Dave [Fri, 7 Sep 2018 12:45:43 +0000 (18:15 +0530)]
use blocks directives to group tasks

Using block directives simplifies the playbooks and makes them more
readable.

Fixes: https://github.com/ceph/ceph-ansible/issues/2835
Signed-off-by: Rishabh Dave <ridave@redhat.com>
6 years agorgw: move multisite default variables in ceph-defaults
Guillaume Abrioux [Tue, 30 Oct 2018 14:01:46 +0000 (15:01 +0100)]
rgw: move multisite default variables in ceph-defaults

Move all rgw multisite variables in ceph-defaults so ceph-validate can
go through them.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
6 years agotests: fail if ansible version is not 2.7
Guillaume Abrioux [Tue, 30 Oct 2018 13:30:13 +0000 (14:30 +0100)]
tests: fail if ansible version is not 2.7

Latest ansible version at the moment is 2.7

We should explicitly require 2.7 only on master branch.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
6 years agotests: test master against ansible 2.7
Guillaume Abrioux [Fri, 21 Sep 2018 14:44:06 +0000 (16:44 +0200)]
tests: test master against ansible 2.7

Let's test ceph-ansible master against ansible 2.7 to catch early any
potential issue with this ansible version.

Closes: #3148
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
6 years agoiscsi more linting
Sébastien Han [Tue, 30 Oct 2018 13:45:31 +0000 (14:45 +0100)]
iscsi more linting

Make flake8 happy

Signed-off-by: Sébastien Han <seb@redhat.com>
6 years agoiscsi module linting
Sébastien Han [Tue, 30 Oct 2018 10:57:20 +0000 (11:57 +0100)]
iscsi module linting

Fix linter issues on iscsi modules.

Signed-off-by: Sébastien Han <seb@redhat.com>
6 years agolint yaml
Sébastien Han [Tue, 30 Oct 2018 10:55:48 +0000 (11:55 +0100)]
lint yaml

Fix [error] too many blank lines (1 > 0) (empty-lines)

Signed-off-by: Sébastien Han <seb@redhat.com>
6 years agoremove restapi role
Guillaume Abrioux [Wed, 10 Oct 2018 19:26:37 +0000 (15:26 -0400)]
remove restapi role

As of `mimic`, restapi is no longer available because of manager daemon.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
6 years agotests: add more memory for rgw_multsite scenarios
Guillaume Abrioux [Mon, 29 Oct 2018 17:50:31 +0000 (18:50 +0100)]
tests: add more memory for rgw_multsite scenarios

Adding more memory to VMs for rgw_multisite scenarios could avoid this error
I have recently hit in the CI:

(It is worth it to set 1024Mb since there is only 2 nodes in those
scenarios.)

```
fatal: [osd0]: FAILED! => {
    "changed": false,
    "cmd": [
        "docker",
        "run",
        "--rm",
        "--entrypoint",
        "/usr/bin/ceph",
        "docker.io/ceph/daemon:latest-luminous",
        "--version"
    ],
    "delta": "0:00:04.799084",
    "end": "2018-10-29 17:10:39.136602",
    "rc": 1,
    "start": "2018-10-29 17:10:34.337518"
}

STDERR:

Traceback (most recent call last):
  File "/usr/bin/ceph", line 125, in <module>
    import rados
ImportError: libceph-common.so.0: cannot map zero-fill pages: Cannot allocate memory
```

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
6 years agorgw: move multisite related tasks after docker/main.yml
Guillaume Abrioux [Mon, 29 Oct 2018 15:37:12 +0000 (16:37 +0100)]
rgw: move multisite related tasks after docker/main.yml

We must play this task after the container has started otherwise
rgw_multisite tasks will fail.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
6 years agorgw: add rgw_multisite for containerized deployments
Guillaume Abrioux [Mon, 29 Oct 2018 13:05:59 +0000 (14:05 +0100)]
rgw: add rgw_multisite for containerized deployments

run commands on containers when containerized deployments.
(At the moment, all commands are run on the host only)

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
6 years agotests: add rgw_multisite functional test
Guillaume Abrioux [Mon, 29 Oct 2018 12:30:59 +0000 (13:30 +0100)]
tests: add rgw_multisite functional test

Add a playbook that will upload a file on the master then try to get
info from the secondary node, this way we can check if the replication
is ok.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
6 years agorgw: add testing scenario for rgw multisite
Guillaume Abrioux [Wed, 24 Oct 2018 20:27:28 +0000 (22:27 +0200)]
rgw: add testing scenario for rgw multisite

This will setup 2 cluster with rgw multisite enabled.
First cluster will act as the 'master', the 2nd will be the secondary
one.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
6 years agovalidate: remove check on rgw_multisite_endpoint_addr definition
Guillaume Abrioux [Mon, 29 Oct 2018 11:05:09 +0000 (12:05 +0100)]
validate: remove check on rgw_multisite_endpoint_addr definition

since `rgw_multisite_endpoint_addr` has a default value to
`{{ ansible_fqdn }}`, it shouldn't be mandatory to set this variable.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
6 years agorgw: add ceph-validate tasks for multisite, other fixes
Ali Maredia [Fri, 26 Oct 2018 14:39:56 +0000 (14:39 +0000)]
rgw: add ceph-validate tasks for multisite, other fixes

- updated README-MULTISITE
- re-added destroy.yml
- added tasks in ceph-validate to make sure the
rgw multisite vars are set

Signed-off-by: Ali Maredia <amaredia@redhat.com>
6 years agorgw: add a dedicated variable for multisite endpoint
Guillaume Abrioux [Fri, 26 Oct 2018 09:14:12 +0000 (11:14 +0200)]
rgw: add a dedicated variable for multisite endpoint

We should give users the possibility to set the IP they want as
multisite endpoint, setting the default value to `{{ ansible_fqdn }}` to
not force them to set this variable.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
6 years agorgw: update rgw multisite tasks
Ali Maredia [Mon, 18 Sep 2017 22:33:23 +0000 (18:33 -0400)]
rgw: update rgw multisite tasks

- remove destroy tasks
- cleanup conditionals and syntax
- remove unnecessary realm pulls
- enable multisite to be tested in automated
testing infra
- add multisite related vars to main.yml and
group_vars
- update README-MULTISITE
- ensure all `radosgw-admin` commands are being run
on a mon

Signed-off-by: Ali Maredia <amaredia@redhat.com>
6 years agotravis: add ansible-galaxy integration
Sébastien Han [Tue, 30 Oct 2018 11:18:16 +0000 (12:18 +0100)]
travis: add ansible-galaxy integration

This instructs Travis to notify Galaxy when a build completes. Since 3.0
the ansible-galaxy has the ability to build and push roles from repos
with multiple roles.

Closes: https://github.com/ceph/ceph-ansible/issues/3165
Signed-off-by: Sébastien Han <seb@redhat.com>
6 years agogitignore: add mergify and travis as exceptions
Sébastien Han [Tue, 30 Oct 2018 11:20:44 +0000 (12:20 +0100)]
gitignore: add mergify and travis as exceptions

Git must notice changes from .travis.yml and .mergify.yml

Signed-off-by: Sébastien Han <seb@redhat.com>
6 years agocontrib: rm script push-roles-to-ansible-galaxy.sh
Sébastien Han [Tue, 30 Oct 2018 11:04:59 +0000 (12:04 +0100)]
contrib: rm script push-roles-to-ansible-galaxy.sh

The script is not used anymore and soon Travis CI will do this job of
pushing the role into the galaxy.

Signed-off-by: Sébastien Han <seb@redhat.com>
6 years agocleanup repos's root
Sébastien Han [Tue, 30 Oct 2018 10:28:23 +0000 (11:28 +0100)]
cleanup repos's root

Remove old files and move scripts to the contrib directory.

Signed-off-by: Sébastien Han <seb@redhat.com>
6 years agoceph-volume: fix TypeError exception when setting osds-per-device > 1
Maciej Naruszewicz [Fri, 19 Oct 2018 20:40:36 +0000 (22:40 +0200)]
ceph-volume: fix TypeError exception when setting osds-per-device > 1

osds-per-device needs to be passed to run_command as a string.
Otherwise, expandvars method will try to iterate over an integer.

Signed-off-by: Maciej Naruszewicz <maciej.naruszewicz@intel.com>
6 years agotestinfra: change test osds for containers
Sébastien Han [Mon, 29 Oct 2018 15:24:45 +0000 (16:24 +0100)]
testinfra: change test osds for containers

We do not use  @<device> anymore so we don't need to perform the
readlink check anymore.

Also we are making an exception for ooo which is still using ceph-disk.

Signed-off-by: Sébastien Han <seb@redhat.com>
6 years agoceph_volume: add container support for batch
Sébastien Han [Fri, 26 Oct 2018 14:30:32 +0000 (16:30 +0200)]
ceph_volume: add container support for batch

https://tracker.ceph.com/issues/36363 has been resolved and the patch
has been backported to luminous and mimic so let's enable the container
support.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1541415
Signed-off-by: Sébastien Han <seb@redhat.com>
6 years agotest_osd: dynamically get the osd container
Sébastien Han [Mon, 29 Oct 2018 11:00:40 +0000 (12:00 +0100)]
test_osd: dynamically get the osd container

Do not enforce the container name since this will fail when we have
multiple VMs running OSDs.

Signed-off-by: Sébastien Han <seb@redhat.com>
6 years agotest: convert all the tests to use lvm
Sébastien Han [Wed, 10 Oct 2018 19:29:56 +0000 (15:29 -0400)]
test: convert all the tests to use lvm

ceph-disk is now deprecated in ceph-ansible so let's convert all the ci
tests to use lvm instead of ceph-disk.

Signed-off-by: Sébastien Han <seb@redhat.com>
6 years agotox: change container image to use master
Sébastien Han [Thu, 25 Oct 2018 14:15:36 +0000 (16:15 +0200)]
tox: change container image to use master

We have a latest-master image which contains builds from upstream ceph
so let's use it to verify build.

Signed-off-by: Sébastien Han <seb@redhat.com>
6 years agotest: remove ceph-disk CI tests
Sébastien Han [Wed, 10 Oct 2018 18:55:20 +0000 (14:55 -0400)]
test: remove ceph-disk CI tests

Since we are removing the ceph-disk test from the ci in master then
there is no need to have the functionnal tests in master anymore.

Signed-off-by: Sébastien Han <seb@redhat.com>
6 years agoroles: fix *_docker_memory_limit default value
Guillaume Abrioux [Mon, 29 Oct 2018 10:46:46 +0000 (11:46 +0100)]
roles: fix *_docker_memory_limit default value

append 'm' suffix to specify the unit size used in all
`*_docker_memory_limit`.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
6 years agoroles: do not limit docker_memory_limit for various daemons
Neha Ojha [Thu, 25 Oct 2018 17:45:00 +0000 (17:45 +0000)]
roles: do not limit docker_memory_limit for various daemons

Since we do not have enough data to put valid upper bounds for the memory
usage of these daemons, do not put artificial limits by default. This will
help us avoid failures like OOM kills due to low default values.

Whenever required, these limits can be manually enforced by the user.

More details in
https://bugzilla.redhat.com/show_bug.cgi?id=1638148

Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1638148
Signed-off-by: Neha Ojha <nojha@redhat.com>
6 years agoMerge branch 'jcsp-wip-rm-calamari'
Sébastien Han [Mon, 29 Oct 2018 13:53:47 +0000 (14:53 +0100)]
Merge branch 'jcsp-wip-rm-calamari'

6 years agoMerge branch 'master' into wip-rm-calamari 3147/head
Sébastien Han [Mon, 29 Oct 2018 13:50:37 +0000 (14:50 +0100)]
Merge branch 'master' into wip-rm-calamari

6 years agoinfrastructure playbooks: ensure nvme_device is defined in lv-create.yml
Ali Maredia [Mon, 29 Oct 2018 06:01:25 +0000 (06:01 +0000)]
infrastructure playbooks: ensure nvme_device is defined in lv-create.yml

Signed-off-by: Ali Maredia <amaredia@redhat.com>
6 years agonfs: do not create the nfs user if already present
Sébastien Han [Fri, 26 Oct 2018 13:27:33 +0000 (15:27 +0200)]
nfs: do not create the nfs user if already present

Check if the user exists and skip its creation if true.

Closes: https://github.com/ceph/ceph-ansible/issues/3254
Signed-off-by: Sébastien Han <seb@redhat.com>
6 years agoFix problem with ceph_key in python3
Jairo Llopis [Thu, 4 Oct 2018 05:48:03 +0000 (07:48 +0200)]
Fix problem with ceph_key in python3

Pretty basic problem of iteritems removal.

Signed-off-by: Jairo Llopis <yajo.sk8@gmail.com>
6 years agoceph_volume: better error handling
Sébastien Han [Wed, 24 Oct 2018 14:55:52 +0000 (16:55 +0200)]
ceph_volume: better error handling

When loading the json, if invalid, we should fail with a meaningful
error.

Signed-off-by: Sébastien Han <seb@redhat.com>
6 years agoceph_volume: expose ceph-volume logs on the host
Sébastien Han [Wed, 24 Oct 2018 14:53:12 +0000 (16:53 +0200)]
ceph_volume: expose ceph-volume logs on the host

This will tremendously help debugging failures while performing any
ceph-volume command in containers.

Signed-off-by: Sébastien Han <seb@redhat.com>
6 years agoresync group_vars/*.sample files
Guillaume Abrioux [Fri, 26 Oct 2018 07:46:29 +0000 (09:46 +0200)]
resync group_vars/*.sample files

ee2d52d33df2a311cdf0ff62abd353fccb3affbc missed this sync between
ceph-defaults/defaults/main.yml and group_vars/all.yml.sampl

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
6 years agotox: fix a typo
Guillaume Abrioux [Thu, 25 Oct 2018 12:42:54 +0000 (14:42 +0200)]
tox: fix a typo

the line setting `ANSIBLE_CONFIG` obviously contains a typo introduced
by 1e283bf69be8b9efbc1a7a873d91212ad57c7351

`ANSIBLE_CONFIG` has to point to a path only (path to an ansible.cfg)

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
6 years agoigw: stop daemons on purge all calls v3.2.0beta9
Mike Christie [Wed, 12 Sep 2018 20:37:44 +0000 (15:37 -0500)]
igw: stop daemons on purge all calls

When purging the entire igw config (lio and rbd) stop disable the api
and gw daemons.

Fixes Red Hat BZ
https://bugzilla.redhat.com/show_bug.cgi?id=1621255

Signed-off-by: Mike Christie <mchristi@redhat.com>
6 years agoceph-validate: avoid "list index out of range" error
Rishabh Dave [Tue, 9 Oct 2018 20:47:40 +0000 (02:17 +0530)]
ceph-validate: avoid "list index out of range" error

Be sure that error.path has more than one members before using them.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
6 years agoceph-infra: reload firewall after rules are added v3.2.0beta8
Guillaume Abrioux [Tue, 23 Oct 2018 07:49:50 +0000 (09:49 +0200)]
ceph-infra: reload firewall after rules are added

we ensure that firewalld is installed and running before adding any
rule. This has no sense anymore not to reload firewalld once the rule
are added.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
6 years agoallow custom pool size
Rishabh Dave [Mon, 1 Oct 2018 15:11:13 +0000 (11:11 -0400)]
allow custom pool size

Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1596339
Signed-off-by: Rishabh Dave <ridave@redhat.com>
6 years agotests: remove unnecessary variables definition v3.2.0beta7
Guillaume Abrioux [Fri, 19 Oct 2018 11:19:59 +0000 (13:19 +0200)]
tests: remove unnecessary variables definition

since we set `configure_firewall: true` in
`ceph-defaults/defaults/main.yml` there is no need to explicitly set it
in `centos7_cluster` and `docker_cluster` testing scenarios.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
6 years agodefaults: set default `configure_firewall` to `True`
Guillaume Abrioux [Fri, 19 Oct 2018 11:16:23 +0000 (13:16 +0200)]
defaults: set default `configure_firewall` to `True`

Let's configure firewalld by default.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1526400
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
6 years agorolling_update: fix upgrade when using fqdn
Sébastien Han [Thu, 9 Aug 2018 09:32:53 +0000 (11:32 +0200)]
rolling_update: fix upgrade when using fqdn

CLusters that were deployed using 'mon_use_fqdn' have a different unit
name, so during the upgrade this must be used otherwise the upgrade will
fail, looking for a unit that does not exist.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1597516
Signed-off-by: Sébastien Han <seb@redhat.com>
6 years agovalidate: check the version of python-notario
Andrew Schoen [Tue, 16 Oct 2018 15:20:54 +0000 (10:20 -0500)]
validate: check the version of python-notario

If the version of python-notario is < 0.0.13 an error message is given
like "TypeError: validate() got an unexpected keyword argument
'defined_keys'", which is not helpful in figuring
out you've got an incorrect version of python-notario.

This check will avoid that situation by telling the user that they need
to upgrade python-notario before they hit that error.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
6 years agoiscsi: fix networking issue on containerized env
Guillaume Abrioux [Thu, 18 Oct 2018 20:29:02 +0000 (22:29 +0200)]
iscsi: fix networking issue on containerized env

The iscsi-gw containers can't reach monitors without `--net=host`

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
6 years agoRevert "tests: test `test_all_docker_osds_are_up_and_in()` from mon nodes"
Guillaume Abrioux [Thu, 18 Oct 2018 13:43:36 +0000 (15:43 +0200)]
Revert "tests: test `test_all_docker_osds_are_up_and_in()` from mon nodes"

This approach doesn't work with all scenarios because it's comparing a
local OSD number expected to a global OSD number found in the whole
cluster.

This reverts commit b8ad35ceb99cdbd1644c79dd689b818f095ba8b8.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
6 years agotests: set configure_firewall: true in centos7|docker_cluster
Guillaume Abrioux [Thu, 18 Oct 2018 11:45:14 +0000 (13:45 +0200)]
tests: set configure_firewall: true in centos7|docker_cluster

This way the CI will cover this part of the code.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
6 years agoinfra: move restart fw handler in ceph-infra role
Guillaume Abrioux [Thu, 18 Oct 2018 11:41:49 +0000 (13:41 +0200)]
infra: move restart fw handler in ceph-infra role

Move the handler to restart firewall in ceph-infra role.

Closes: #3243
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
6 years agotests: test `test_all_docker_osds_are_up_and_in()` from mon nodes v3.2.0beta6
Guillaume Abrioux [Tue, 16 Oct 2018 14:25:12 +0000 (16:25 +0200)]
tests: test `test_all_docker_osds_are_up_and_in()` from mon nodes

Let's get the osd tree from mons instead on osds.
This way we don't have to predict an OSD container name.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
6 years agoadd-osds: followup on 3632b26
Guillaume Abrioux [Wed, 17 Oct 2018 11:57:09 +0000 (13:57 +0200)]
add-osds: followup on 3632b26

Three fixes:

- fix a typo in vagrant_variables that cause a networking issue for
containerized scenario.
- add containerized_deployment: true
- remove a useless block of code: the fact docker_exec_cmd is set in
ceph-defaults which is played right after.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
6 years agoinfra: add a gather-ceph-logs.yml playbook
Sébastien Han [Thu, 24 May 2018 17:47:29 +0000 (10:47 -0700)]
infra: add a gather-ceph-logs.yml playbook

Add a gather-ceph-logs.yml which will log onto all the machines from
your inventory and will gather ceph logs. This is not intended to work
on containerized environments since the logs are stored in journald.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1582280
Signed-off-by: Sébastien Han <seb@redhat.com>
6 years agotests: add tests for day-2-operation playbook
Guillaume Abrioux [Tue, 16 Oct 2018 15:05:10 +0000 (17:05 +0200)]
tests: add tests for day-2-operation playbook

Adding testing scenarios for day-2-operation playbook.

Steps:
- deploys a cluster,
- run testinfra,
- test idempotency,
- add a new osd node,
- run testinfra

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
6 years agoinfra: rename osd-configure to add-osd and improve it
Sébastien Han [Thu, 27 Sep 2018 14:31:22 +0000 (16:31 +0200)]
infra: rename osd-configure to add-osd and improve it

The playbook has various improvements:

* run ceph-validate role before doing anything
* run ceph-fetch-keys only on the first monitor of the inventory list
* set noup flag so PGs get distributed once all the new OSDs have been
added to the cluster and unset it when they are up and running

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1624962
Signed-off-by: Sébastien Han <seb@redhat.com>
6 years agoceph-fetch-keys: refact
Sébastien Han [Thu, 27 Sep 2018 14:29:22 +0000 (16:29 +0200)]
ceph-fetch-keys: refact

This commits simplies the usage of the ceph-fetch-keys role. The role
now has a nicer way to find various ceph keys and fetch them on the
ansible server.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1624962
Signed-off-by: Sébastien Han <seb@redhat.com>
6 years agoAdd ability to use a different client container
Andy McCrae [Fri, 5 Oct 2018 13:36:36 +0000 (14:36 +0100)]
Add ability to use a different client container

Currently a throw-away container is built to run ceph client
commands to setup users, pools & auth keys. This utilises
the same base ceph container which has all the ceph services
inside it.

This PR allows the use of a separate container if the deployer
wishes - but defaults to use the same full ceph container.

This can be used for different architectures or distributions,
which may support the the Ceph client, but not Ceph server,
and allows the deployer to build and specify a separate client
container if need be.

Signed-off-by: Andy McCrae <andy.mccrae@gmail.com>
6 years agoinfra: fix wrong condition on firewalld start task
Guillaume Abrioux [Tue, 16 Oct 2018 13:09:48 +0000 (15:09 +0200)]
infra: fix wrong condition on firewalld start task

a non skipped task won't have the `skipped` attribute, so `start
firewalld` task will complain about that.
Indeed, `skipped` and `rc` attributes won't exist since the first task
`check firewalld installation on redhat or suse` won't be skipped in
case of non-containerized deployment.

Fixes: #3236
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1541840
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
6 years agoceph-defaults: set ceph_stable_openstack_release_uca to queens
Christian Berendt [Thu, 11 Oct 2018 10:26:04 +0000 (12:26 +0200)]
ceph-defaults: set ceph_stable_openstack_release_uca to queens

Liberty is no longer available in the UCA. The last available release there
is currently Queens.

Signed-off-by: Christian Berendt <berendt@betacloud-solutions.de>
6 years agocontrib: add a bash script to snapshort libvirt vms
Guillaume Abrioux [Mon, 15 Oct 2018 21:42:16 +0000 (23:42 +0200)]
contrib: add a bash script to snapshort libvirt vms

This script is still 'work in progress' but could be used to make
snapshot of Libvirt VMs.
This can save some times when deploying again and again.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
6 years agohandler: remove some leftover in restart_*_daemon.sh.j2
Guillaume Abrioux [Mon, 15 Oct 2018 13:32:17 +0000 (15:32 +0200)]
handler: remove some leftover in restart_*_daemon.sh.j2

Remove some legacy in those restart script.

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