]> git.apps.os.sepia.ceph.com Git - ceph-ansible.git/log
ceph-ansible.git
6 years agoigw: open iscsi target port
Mike Christie [Tue, 30 Oct 2018 19:03:37 +0000 (14:03 -0500)]
igw: open iscsi target port

Open the port the iscsi target uses for iscsi traffic.

Signed-off-by: Mike Christie <mchristi@redhat.com>
6 years agoigw: use api_port variable for firewall port setting
Mike Christie [Thu, 8 Nov 2018 21:23:24 +0000 (15:23 -0600)]
igw: use api_port variable for firewall port setting

Don't hard code api port because it might be overridden by the user.

Signed-off-by: Mike Christie <mchristi@redhat.com>
6 years agoigw: fix firewall iscsi_group_name check
Mike Christie [Tue, 30 Oct 2018 18:54:52 +0000 (13:54 -0500)]
igw: fix firewall iscsi_group_name check

The firewall setup for igw is not getting setup because iscsi_group_name
does not it exist. It should be iscsi_gw_group_name.

Signed-off-by: Mike Christie <mchristi@redhat.com>
6 years agoigw: Fix default api port
Mike Christie [Tue, 30 Oct 2018 18:54:03 +0000 (13:54 -0500)]
igw: Fix default api port

The default igw api port is 5000 in the manual setup docs and
ceph-iscsi-config package so this syncs up ansible.

Signed-off-by: Mike Christie <mchristi@redhat.com>
6 years agoigw: stop tcmu-runner on iscsi purge
Mike Christie [Thu, 8 Nov 2018 21:38:08 +0000 (15:38 -0600)]
igw: stop tcmu-runner on iscsi purge

When the iscsi purge playbook is run we stop the gw and api daemons but
not tcmu-runner which I forgot on the previous PR.

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

Signed-off-by: Mike Christie <mchristi@redhat.com>
6 years agovalidate: do not validate ceph_repository if deploying containers
Andrew Schoen [Wed, 31 Oct 2018 15:25:26 +0000 (10:25 -0500)]
validate: do not validate ceph_repository if deploying containers

Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1630975
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
6 years agodon't use "role" or "roles" to include roles
Noah Watkins [Wed, 7 Nov 2018 20:54:45 +0000 (12:54 -0800)]
don't use "role" or "roles" to include roles

see 3f62fc585f60fcaecbc783316a99cd8314aab062

Signed-off-by: Noah Watkins <nwatkins@redhat.com>
6 years agoFix comments in shrink-osd-ceph-disk playbook
Noah Watkins [Wed, 7 Nov 2018 20:54:38 +0000 (12:54 -0800)]
Fix comments in shrink-osd-ceph-disk playbook

Signed-off-by: Noah Watkins <nwatkins@redhat.com>
6 years agoAdd a ceph-volume aware shrink-osd playbook
Noah Watkins [Wed, 31 Oct 2018 18:17:16 +0000 (11:17 -0700)]
Add a ceph-volume aware shrink-osd playbook

Signed-off-by: Noah Watkins <nwatkins@redhat.com>
6 years agoFixup shrink_osd[_container] scenario config
Noah Watkins [Tue, 6 Nov 2018 16:49:39 +0000 (08:49 -0800)]
Fixup shrink_osd[_container] scenario config

** configuration seems to be for filestore:

[ERROR]: [ceph-osd0] Validation failed for variable: lvm_volumes

** Removing `radosgw_interface: eth1` to resolve:

The task includes an option with an undefined variable. The error was:
'ansible.vars.hostvars.HostVarsVars object' has no attribute
u'ansible_eth1'

The error appears to have been in
'/home/nwatkins/src/ceph-ansible/roles/ceph-defaults/tasks/set_radosgw_address.yml':
line 21, column 5, but may be elsewhere in the file depending on the
exact syntax problem.

The offending line appears to be:

  - name: set_fact _radosgw_address to radosgw_interface - ipv4
    ^ here

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
6 years agoRename ceph-disk version of shrink-osd playbook
Noah Watkins [Wed, 31 Oct 2018 18:14:08 +0000 (11:14 -0700)]
Rename ceph-disk version of shrink-osd playbook

This will be replaced by a ceph-volume aware verison.

Signed-off-by: Noah Watkins <nwatkins@redhat.com>
6 years agoigw: add support for IPv6
Jason Dillaman [Fri, 2 Nov 2018 14:30:34 +0000 (10:30 -0400)]
igw: add support for IPv6

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
6 years agoRevert "ceph_key: add fetch_initial_keys capability"
Sébastien Han [Thu, 8 Nov 2018 13:33:29 +0000 (14:33 +0100)]
Revert "ceph_key: add fetch_initial_keys capability"

This reverts commit 17883e09ba6356c79886db069db235b1e30130fb.

6 years agoRevert "rbd-mirror: use the new rbd-mirror key"
Sébastien Han [Thu, 8 Nov 2018 13:33:29 +0000 (14:33 +0100)]
Revert "rbd-mirror: use the new rbd-mirror key"

This reverts commit cdee9f01194eff27e6b6bf66ab436cecdd482dcb.

6 years agorbd-mirror: use the new rbd-mirror key
Sébastien Han [Mon, 5 Nov 2018 16:14:31 +0000 (17:14 +0100)]
rbd-mirror: use the new rbd-mirror key

Instead of using the old rbd key let's use the new rbr-mirror key to
bootstrap the rbd -mirror daemon.

Signed-off-by: Sébastien Han <seb@redhat.com>
6 years agoceph_key: add fetch_initial_keys capability
Sébastien Han [Tue, 23 Oct 2018 16:38:40 +0000 (18:38 +0200)]
ceph_key: add fetch_initial_keys capability

This is needed for Nautilus since the ceph-create-keys script goes away.
(https://github.com/ceph/ceph/pull/21305)
Now the module if called with 'state: fetch_initial_keys' will lookup
keys generated by the monitor and write them down on the filesystem to
the right location (/etc/ceph and /var/lib/ceph/boostrap*).
This is not applicable to container since keys are generated by the
container only.

Signed-off-by: Sébastien Han <seb@redhat.com>
6 years agolint: Don't compare to empty string
Sébastien Han [Thu, 1 Nov 2018 15:03:16 +0000 (16:03 +0100)]
lint: Don't compare to empty string

description = 'Use `when: var` rather than `when: var != ""` (or ' \ 'conversely `when: not var` rather than `when: var == ""`)'

Signed-off-by: Sébastien Han <seb@redhat.com>
6 years agolint: don't lint 204
Sébastien Han [Thu, 1 Nov 2018 14:54:12 +0000 (15:54 +0100)]
lint: don't lint 204

Ignore linter warnings when line length is > 120 chars.

Signed-off-by: Sébastien Han <seb@redhat.com>
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>