- 09 Oct, 2019 2 commits
-
-
Guillaume Abrioux authored
If there is no host available, let's just skip these plays. Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1759917 Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com> (cherry picked from commit 0b245bd0)
-
Dimitri Savineau authored
If the mgr dashboard doesn't restart fast enough then the inject dashboard task will fail with a HTTP error 400. Error EINVAL: Traceback (most recent call last): File "/usr/share/ceph/mgr/mgr_module.py", line 914, in _handle_command return self.handle_command(inbuf, cmd) File "/usr/share/ceph/mgr/dashboard/module.py", line 450, in handle_command push_local_dashboards() File "/usr/share/ceph/mgr/dashboard/grafana.py", line 132, in push_local_dashboards retry() File "/usr/share/ceph/mgr/dashboard/grafana.py", line 89, in call result = self.func(*self.args, **self.kwargs) File "/usr/share/ceph/mgr/dashboard/grafana.py", line 127, in push grafana.push_dashboard(body) File "/usr/share/ceph/mgr/dashboard/grafana.py", line 54, in push_dashboard response.raise_for_status() File "/usr/lib/python2.7/site-packages/requests/models.py", line 834, in raise_for_status raise HTTPError(http_error_msg, response=self) HTTPError: 400 Client Error: Bad Request Instead we can trigger this task before the module restart. Closes: #4565 Signed-off-by:
Dimitri Savineau <dsavinea@redhat.com> (cherry picked from commit 3f6ff240)
-
- 08 Oct, 2019 2 commits
-
-
Guillaume Abrioux authored
This commit reflects the recent changes in ceph/ceph-build#1406 Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com> (cherry picked from commit bcaf8ced)
-
Dimitri Savineau authored
When switching from a baremetal deployment to a containerized deployment we only umount the OSD data partition. If the OSD is encrypted (dmcrypt: true) then there's an additional partition (part number 5) used for the lockbox and mount in the /var/lib/ceph/osd-lockbox/ directory. Because this partition isn't umount then the containerized OSD aren't able to start. The partition is still mount by the system and can't be remount from the container. Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1616159 Signed-off-by:
Dimitri Savineau <dsavinea@redhat.com> (cherry picked from commit 19edf707)
-
- 07 Oct, 2019 11 commits
-
-
Guillaume Abrioux authored
This commit moves this task in order to stop the nfs server service regardless the deployment type desired (containerized or non containerized). Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1508506 Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com> (cherry picked from commit 6c6a512a)
-
Guillaume Abrioux authored
The syntax here wasn't working, this refact fixes this task. Also, removing the `ignore_errors: true` which was hidding the failure. Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1508506 Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com> (cherry picked from commit 47034eff)
-
Dimitri Savineau authored
We don't need to have dedicated variables for the RGW integration into the Ceph Dashboard and need to be manually filled. Instead we can use the current values from the RGW nodes by using the IP and port from the first RGW instance of the first RGW node via the radosgw_address and radosgw_frontend_port variables. We don't need to specify all RGW nodes, this will be done automatically with one node. The RGW api scheme is using the radosgw_frontend_ssl_certificate variable to determine if the value is http or https. This variable is also reuse as a condition for the ssl verify task. Signed-off-by:
Dimitri Savineau <dsavinea@redhat.com> (cherry picked from commit b9e93ad7)
-
Guillaume Abrioux authored
This commit refacts the way we set `ceph_uid` fact in `ceph-facts` and removes all `set_fact` tasks for `ceph_uid` in switch-to-containers playbook to avoid duplicated code. Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com> (cherry picked from commit fa9b42e9)
-
Guillaume Abrioux authored
As per https://github.com/ceph/ceph-ansible/pull/4323#issuecomment-538420164 using `find` command should be faster. Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1757400 Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com> Co-Authored-by:
Giulio Fidente <gfidente@redhat.com> (cherry picked from commit c5d0c90b)
-
Dimitri Savineau authored
This patch moves the https dashboard configuration into a dedicated block to avoid the multiple occurence of the dashboard_protocol condition. It also fixes the dashboard certificate and key variables handling in the condition introduced by ab54fe20 . Those variables aren't boolean but strings so we can test them via the length filter. Signed-off-by:
Dimitri Savineau <dsavinea@redhat.com> (cherry picked from commit 24976404)
-
Guillaume Abrioux authored
Typical error: ``` fatal: [mon0]: FAILED! => msg: |- The conditional check 'not delegate_facts_host | bool or inventory_hostname in groups.get(client_group_name, [])' failed. The error was: error while evaluating conditional (not delegate_facts_host | bool or inventory_hostname in groups.get(client_group_name, [])): 'client_group_name' is undefined ``` Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com> (cherry picked from commit 8138d419)
-
Guillaume Abrioux authored
these dependencies aren't needed anymore on recent releases of Fedora. Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com> (cherry picked from commit 7fdf8b62)
-
Guillaume Abrioux authored
This commit excludes client nodes from facts gathering, they are not needed and can speed up this task. Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com> (cherry picked from commit 865d2eac)
-
Guillaume Abrioux authored
This commit adds some missing `| bool` filters. Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com> (cherry picked from commit ccc11cfc)
-
Guillaume Abrioux authored
Add missing tag on ceph-handler role call. Otherwise, we can't use `--tags='ceph_update_config'` for updating the ceph configuration file. Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1754432 Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com> (cherry picked from commit f59dad62)
-
- 04 Oct, 2019 5 commits
-
-
Dimitri Savineau authored
The secondary vagrant variables didn't have the grafana vm variable set which create an vagrant error. There was an error loading a Vagrantfile. The file being loaded and the error message are shown below. This is usually caused by an invalid or undefined variable. This patch also changes the ssh-extra-args parameter to ssh-common-args to get the same values for ssh/sftp/scp. Otherwise we can see warnings from ansible and some tasks are failing. [WARNING]: sftp transfer mechanism failed on [mon0]. Use ANSIBLE_DEBUG=1 to see detailed information It also updates the ssh-common-args value for the rgw-multisite scenario to reflect the ANSIBLE_SSH_ARGS environment variable value. Finally changing the IP addresses due to the Vagrant refact done in the commit 778c51a0 Signed-off-by:
Dimitri Savineau <dsavinea@redhat.com> (cherry picked from commit 010158ff)
-
Dimitri Savineau authored
The ceph dashboard tasks didn't use the cluster option if the cluster name isn't the default value. Closes: #4529 Signed-off-by:
Dimitri Savineau <dsavinea@redhat.com> (cherry picked from commit dd526cfe)
-
Dimitri Savineau authored
The block section were used with the dashboard_enabled condition when the code was included in the main playbooks. Because this condition isn't present in the dashboard playbook anymore we can remove the block section. Signed-off-by:
Dimitri Savineau <dsavinea@redhat.com> (cherry picked from commit cf47594b)
-
Guillaume Abrioux authored
because of the current ip address assignation, it's not possible to deploy more than 9 nodes per daemon type. This commit refact a bit and allows us to get around this limitation. Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com> (cherry picked from commit 778c51a0)
-
Dimitri Savineau authored
When using the ansible --limit option on one or few OSD nodes and if the handler is triggered then we will restart the OSD service on all OSDs nodes instead of the hosts limited by the limit value. Even if the play is limited by the --limit value we are using all OSD nodes from the OSD group. with_items: '{{ groups[osd_group_name] }}' Instead we should iterate only on the nodes present in both OSD group and limit list. Signed-off-by:
Dimitri Savineau <dsavinea@redhat.com> (cherry picked from commit 0346871f)
-
- 03 Oct, 2019 1 commit
-
-
Dimitri Savineau authored
e695efca introduced a regression in the _radosgw_address fact when using the radosgw_address_block variable. There's no item there because we don't use the items lookup. This is only used for _monitor_address with monitor_address_block. Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1758099 Signed-off-by:
Dimitri Savineau <dsavinea@redhat.com> (cherry picked from commit 780cf36a)
-
- 02 Oct, 2019 2 commits
-
-
Guillaume Abrioux authored
There is no need to get n * number of nodes the different keyrings. Adding a `run_once: true` here avoid running a ceph command too many times which could be impacting large cluster deployment. Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com> (cherry picked from commit 9bad239d)
-
Dimitri Savineau authored
During the rolling_update scenario, the fsid value is retrieve from the current ceph cluster configuration via the ceph daemon config command. This command tries first to resolve the admin socket path via the ceph-conf command. Unfortunately this command won't work if you have a duplicate key in the ceph configuration even if it only produces a warning. As a result the task will fail. Can't get admin socket path: unable to get conf option admin_socket for mon.xxx: warning: line 13: 'osd_memory_target' in section 'osd' redefined Instead of using ceph daemon we can use the --admin-daemon option because we already know what the socket admin path value based on the ceph cluster and mon hostname values. Closes: #4492 Signed-off-by:
Dimitri Savineau <dsavinea@redhat.com> (cherry picked from commit ec3b687d)
-
- 01 Oct, 2019 8 commits
-
-
Guillaume Abrioux authored
Check for gpt header when osd scenario is lvm or lvm batch. Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com> (cherry picked from commit 272d16e1)
-
Guillaume Abrioux authored
rename this file to be more generic. Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com> (cherry picked from commit ed8616aa)
-
Guillaume Abrioux authored
This commit moves containerized deployment related files to `./tasks/` directory. This is needed to make `docker-to-podman.yml` working since we use `tasks_from:` option. Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com> (cherry picked from commit e08194dd)
-
Guillaume Abrioux authored
This commit moves containerized deployment related files to `./tasks/` directory. This is needed to make `docker-to-podman.yml` working since we use `tasks_from:` option. Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com> (cherry picked from commit c69816c6)
-
Guillaume Abrioux authored
This commit moves containerized deployment related files to `./tasks/ directory. This is needed to make `docker-to-podman.yml` working since we use `tasks_from:` option. Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com> (cherry picked from commit 4636f3f7)
-
Guillaume Abrioux authored
this commit adds a new playbook to force systemd units for containers to use podman instead of docker. This is needed in the rhel8 upgrade context so after the base OS is upgraded containers can be started using podman. Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com> (cherry picked from commit f2017dcd)
-
Guillaume Abrioux authored
This commit isolates the systemd unit files generation for containers into separate yml files in order to be able importing each corresponding roles without playing all tasks. This is needed so we can run ceph-ansible to render systemd unit files so they call podman instead of docker. Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com> (cherry picked from commit bd641674)
-
Dimitri Savineau authored
e695efca hasn't been updated with the changes introduced in 9bb11c7b so the ips_in_ranges filter isn't used for an external grafana instance. Signed-off-by:
Dimitri Savineau <dsavinea@redhat.com> (cherry picked from commit 20b1a464)
-
- 30 Sep, 2019 3 commits
-
-
Boris Ranto authored
The old default prometheus port 9090 clashes with cockpit in rhel 8. The 9090 port is reserved for web service administration of machines. We should change the default to something that does not clash with other ports used in rhel 8, at least by default. The port 9092 seems like a good choice in my testing. Signed-off-by:
Boris Ranto <branto@redhat.com> (cherry picked from commit b96c6da8)
-
Boris Ranto authored
For some reason, the floating tags were changed from v4.1 to just 4.1 for these images when switching ti registry.redhat.io. We should fix the locations. We are also changing the downstream grafana image to the one we used for rhcs 3. The ose grafana image lacks the support for a lot of features that we need (e.g. vonage and piechart grafana plugins, grafana-cli binary and others). Signed-off-by:
Boris Ranto <branto@redhat.com> (cherry picked from commit f067e53c)
-
Guillaume Abrioux authored
This was added for debugging purpose. It's generating very large log output, let's remove this now. Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com> (cherry picked from commit 01f6dd52)
-
- 29 Sep, 2019 1 commit
-
-
Guillaume Abrioux authored
This reverts commit 58b27ef0 . This is breaking debian based OS deployments. Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com> (cherry picked from commit e4444d29)
-
- 28 Sep, 2019 1 commit
-
-
Guillaume Abrioux authored
after all mon are upgraded, let's reset mon_host which is used in the rest of the playbook for setting `container_exec_cmd` so we are sure to use the right value. Typical error: ``` failed: [mds0 -> mon0] (item={u'path': u'/var/lib/ceph/bootstrap-mds/ceph.keyring', u'name': u'client.bootstrap-mds', u'copy_key': True}) => changed=true ansible_loop_var: item cmd: - docker - exec - ceph-mon-mon2 - ceph - --cluster - ceph - auth - get - client.bootstrap-mds delta: '0:00:00.016294' end: '2019-09-27 13:54:58.828835' item: copy_key: true name: client.bootstrap-mds path: /var/lib/ceph/bootstrap-mds/ceph.keyring msg: non-zero return code rc: 1 start: '2019-09-27 13:54:58.812541' stderr: 'Error response from daemon: No such container: ceph-mon-mon2' stderr_lines: <omitted> stdout: '' stdout_lines: <omitted> ``` Signed-off-by:
Guillaume Abrioux <gabrioux@redhat.com> (cherry picked from commit d84160a1)
-
- 27 Sep, 2019 4 commits
-
-
Johannes Kastl authored
raw_install_python.yml: on SUSE/openSUSE, install python-xml package only if python2 is installed already Background: On SLES 15.x / openSUSE Leap 15.x, the python2 package `python-base` provides /usr/bin/python, while python3 only provides /usr/bin/python3. Signed-off-by:
Johannes Kastl <kastl@b1-systems.de> (cherry picked from commit a1811ca0)
-
Johannes Kastl authored
The package python-xml is needed for ansible's zypper module to interact with the zypper package management tool. roles/ceph-defaults/defaults/main.yml: Remove python-xml from variable suse_package_dependencies to only install python-xml on SUSE/openSUSE if python is not found. raw_install_python.yml already contains all the logic needed to check if there is a valid python installation, so this is better suited there. openSUSE Leap 15.x / SLES 15.x do no longer have /usr/bin/python, only /usr/bin/python3, which already contains the xml module, so nothing needs to be installed in that case. Signed-off-by:
Johannes Kastl <kastl@b1-systems.de> (cherry picked from commit 5cf22e9b)
-
Harald Jensås authored
This change implements a filter_plugin that is used in the ceph-facts, ceph-validate roles and infrastucture-playbooks. The new filter plugin will return a list of all IP address that reside in any one of the given IP ranges. The new filter replaces the use of the ipaddr filter. ceph.conf already support a comma separated list of CIDRs for the public_network and cluster_network options. Changes: [1] and [2] introduced a regression in ceph-ansible where public_network can no longer be a comma separated list of cidrs. With this change a comma separated list of subnet CIDRs can also be used for monitor_address_block and radosgw_address_block. [1] commit: d67230b2 [2] commit: 20e48528 Related-To: https://bugs.launchpad.net/tripleo/+bug/1840030 Related-To: https://bugzilla.redhat.com/show_bug.cgi?id=1740283 Closes: #4333 Please backport to stable-4.0 Signed-off-by:
Harald Jensås <hjensas@redhat.com> (cherry picked from commit e695efca)
-
Dimitri Savineau authored
Depending on the infrastruture (w/o kerberos auth) then the SecType value could be different. Currently this value is hardcoded in the NFS Ganesha template. Instead we can use a variable. The default value is still the same to avoid breaking the backward compatibility. Closes: #4459 Signed-off-by:
Dimitri Savineau <dsavinea@redhat.com> (cherry picked from commit ca77d7bd)
-