From 9dd913cf8a3dcc12683b55ae13d95bca6f15cd32 Mon Sep 17 00:00:00 2001 From: Matthew Vernon Date: Wed, 27 Mar 2019 13:34:47 +0000 Subject: [PATCH] UCA: Uncomment UCA variables in defaults, fix consequent breakage The Ubuntu Cloud Archive-related (UCA) defaults in roles/ceph-defaults/defaults/main.yml were commented out, which means if you set `ceph_repository` to "uca", you get undefined variable errors, e.g. ``` The task includes an option with an undefined variable. The error was: 'ceph_stable_repo_uca' is undefined The error appears to have been in '/nfs/users/nfs_m/mv3/software/ceph-ansible/roles/ceph-common/tasks/installs/debian_uca_repository.yml': line 6, column 3, but may be elsewhere in the file depending on the exact syntax problem. The offending line appears to be: - name: add ubuntu cloud archive repository ^ here ``` Unfortunately, uncommenting these results in some other breakage, because further roles were written that use the fact of `ceph_stable_release_uca` being defined as a proxy for "we're using UCA", so try and install packages from the bionic-updates/queens release, for example, which doesn't work. So there are a few `apt` tasks that need modifying to not use `ceph_stable_release_uca` unless `ceph_origin` is `repository` and `ceph_repository` is `uca`. Closes: #3475 Signed-off-by: Matthew Vernon --- group_vars/all.yml.sample | 2 +- group_vars/rhcs.yml.sample | 2 +- .../ceph-common/tasks/installs/install_debian_packages.yml | 4 ++-- roles/ceph-defaults/defaults/main.yml | 6 +++--- roles/ceph-mds/tasks/non_containerized.yml | 2 +- roles/ceph-mgr/tasks/pre_requisite.yml | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/group_vars/all.yml.sample b/group_vars/all.yml.sample index bdaeea978..89063eac8 100644 --- a/group_vars/all.yml.sample +++ b/group_vars/all.yml.sample @@ -212,7 +212,7 @@ dummy: # #ceph_stable_repo_uca: "http://ubuntu-cloud.archive.canonical.com/ubuntu" #ceph_stable_openstack_release_uca: queens -#ceph_stable_release_uca: "{{ansible_lsb.codename}}-updates/{{ceph_stable_openstack_release_uca}}" +#ceph_stable_release_uca: "{{ ansible_lsb.codename }}-updates/{{ ceph_stable_openstack_release_uca }}" # REPOSITORY: openSUSE OBS # diff --git a/group_vars/rhcs.yml.sample b/group_vars/rhcs.yml.sample index 124f3e4c4..468d64210 100644 --- a/group_vars/rhcs.yml.sample +++ b/group_vars/rhcs.yml.sample @@ -212,7 +212,7 @@ ceph_rhcs_version: 3 # #ceph_stable_repo_uca: "http://ubuntu-cloud.archive.canonical.com/ubuntu" #ceph_stable_openstack_release_uca: queens -#ceph_stable_release_uca: "{{ansible_lsb.codename}}-updates/{{ceph_stable_openstack_release_uca}}" +#ceph_stable_release_uca: "{{ ansible_lsb.codename }}-updates/{{ ceph_stable_openstack_release_uca }}" # REPOSITORY: openSUSE OBS # diff --git a/roles/ceph-common/tasks/installs/install_debian_packages.yml b/roles/ceph-common/tasks/installs/install_debian_packages.yml index c6405813f..6bdc03f4a 100644 --- a/roles/ceph-common/tasks/installs/install_debian_packages.yml +++ b/roles/ceph-common/tasks/installs/install_debian_packages.yml @@ -4,6 +4,6 @@ name: "{{ debian_ceph_pkgs | unique }}" update_cache: no state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}" - default_release: "{{ ceph_stable_release_uca | default('') }}{{ ansible_distribution_release ~ '-backports' if ceph_origin == 'distro' and ceph_use_distro_backports else '' }}" + default_release: "{{ ceph_stable_release_uca | default('') if ceph_origin == 'repository' and ceph_repository == 'uca' else '' }}{{ ansible_distribution_release ~ '-backports' if ceph_origin == 'distro' and ceph_use_distro_backports else '' }}" register: result - until: result is succeeded \ No newline at end of file + until: result is succeeded diff --git a/roles/ceph-defaults/defaults/main.yml b/roles/ceph-defaults/defaults/main.yml index db56b0877..038cbec6e 100644 --- a/roles/ceph-defaults/defaults/main.yml +++ b/roles/ceph-defaults/defaults/main.yml @@ -202,9 +202,9 @@ ceph_rhcs_cdn_debian_repo_version: "/3-release/" # for GA, later for updates use # usually has newer Ceph releases than the normal distro repository. # # -#ceph_stable_repo_uca: "http://ubuntu-cloud.archive.canonical.com/ubuntu" -#ceph_stable_openstack_release_uca: queens -#ceph_stable_release_uca: "{{ansible_lsb.codename}}-updates/{{ceph_stable_openstack_release_uca}}" +ceph_stable_repo_uca: "http://ubuntu-cloud.archive.canonical.com/ubuntu" +ceph_stable_openstack_release_uca: queens +ceph_stable_release_uca: "{{ ansible_lsb.codename }}-updates/{{ ceph_stable_openstack_release_uca }}" # REPOSITORY: openSUSE OBS # diff --git a/roles/ceph-mds/tasks/non_containerized.yml b/roles/ceph-mds/tasks/non_containerized.yml index 94123980f..8d09101f8 100644 --- a/roles/ceph-mds/tasks/non_containerized.yml +++ b/roles/ceph-mds/tasks/non_containerized.yml @@ -3,7 +3,7 @@ apt: name: ceph-mds state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}" - default_release: "{{ ceph_stable_release_uca | default('') }}{{ ansible_distribution_release ~ '-backports' if ceph_origin == 'distro' and ceph_use_distro_backports else '' }}" + default_release: "{{ ceph_stable_release_uca | default('') if ceph_origin == 'repository' and ceph_repository == 'uca' else '' }}{{ ansible_distribution_release ~ '-backports' if ceph_origin == 'distro' and ceph_use_distro_backports else '' }}" when: - mds_group_name in group_names - ansible_os_family == 'Debian' diff --git a/roles/ceph-mgr/tasks/pre_requisite.yml b/roles/ceph-mgr/tasks/pre_requisite.yml index d6216b6dd..78f74400b 100644 --- a/roles/ceph-mgr/tasks/pre_requisite.yml +++ b/roles/ceph-mgr/tasks/pre_requisite.yml @@ -12,7 +12,7 @@ apt: name: ceph-mgr state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}" - default_release: "{{ ceph_stable_release_uca | default('') }}{{ ansible_distribution_release ~ '-backports' if ceph_origin == 'distro' and ceph_use_distro_backports else '' }}" + default_release: "{{ ceph_stable_release_uca | default('') if ceph_origin == 'repository' and ceph_repository == 'uca' else ''}}{{ ansible_distribution_release ~ '-backports' if ceph_origin == 'distro' and ceph_use_distro_backports else '' }}" register: result until: result is succeeded when: