From 8ae6540d0bbf51004ec8487261fce724b216e738 Mon Sep 17 00:00:00 2001 From: Dmitriy Rabotyagov Date: Wed, 12 Jul 2023 16:07:09 +0200 Subject: [PATCH] Fix linters and metadata With update of ansible-lint to version >=6.0.0 a lot of new linters were added, that enabled by default. In order to comply with linter rules we're applying changes to the role. With that we also update metdata to reflect current state. Change-Id: I74cefdfa885fa26dd7199fd0798527f511bf329d --- defaults/main.yml | 20 ++++++++++---------- handlers/main.yml | 2 +- meta/main.yml | 12 +++++++----- tasks/main.yml | 15 ++++++++++----- tasks/repo_install.yml | 3 +-- tasks/repo_install_constraints.yml | 9 ++++++--- tasks/repo_post_install.yml | 8 +++++--- tasks/repo_pre_install.yml | 13 +++++++------ tasks/repo_sync_cleanup.yml | 2 -- 9 files changed, 47 insertions(+), 37 deletions(-) diff --git a/defaults/main.yml b/defaults/main.yml index 349db5f..240cb06 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -18,7 +18,7 @@ debug: False ## Cap the maximum number of threads / workers when a user value is unspecified. repo_nginx_threads_max: 16 -repo_nginx_threads: "{{ [[ansible_facts['processor_vcpus']|default(2) // 2, 1] | max, repo_nginx_threads_max] | min }}" +repo_nginx_threads: "{{ [[ansible_facts['processor_vcpus'] | default(2) // 2, 1] | max, repo_nginx_threads_max] | min }}" ## APT Cache Options cache_timeout: 600 @@ -53,12 +53,12 @@ repo_server_systemd_mounts: [] # Example using remote shared filesystem to synchronise the repo contents between # several repo servers -#repo_server_systemd_mounts: -# - what: "gluster-server:gluster-volume-name" -# where: "/var/www/repo" -# type: glusterfs -# state: 'started' -# enabled: true +# repo_server_systemd_mounts: +# - what: "gluster-server:gluster-volume-name" +# where: "/var/www/repo" +# type: glusterfs +# state: 'started' +# enabled: true ### ### Backend TLS @@ -113,6 +113,6 @@ repo_pki_install_certificates: condition: "{{ repo_user_ssl_ca_cert is defined }}" # Define user-provided SSL certificates -#repo_user_ssl_cert: -#repo_user_ssl_key: -#repo_user_ssl_ca_cert: +# repo_user_ssl_cert: +# repo_user_ssl_key: +# repo_user_ssl_ca_cert: diff --git a/handlers/main.yml b/handlers/main.yml index fafc81a..3e7a433 100644 --- a/handlers/main.yml +++ b/handlers/main.yml @@ -13,7 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -- name: reload nginx +- name: Reload nginx service: name: "nginx" enabled: yes diff --git a/meta/main.yml b/meta/main.yml index 2c334ee..e8ebf33 100644 --- a/meta/main.yml +++ b/meta/main.yml @@ -18,19 +18,21 @@ galaxy_info: description: Install package repo server company: Rackspace license: Apache2 - min_ansible_version: 2.2 + role_name: repo_server + namespace: openstack + min_ansible_version: "2.10" platforms: - name: Debian versions: - - buster + - bullseye - name: Ubuntu versions: - - bionic - focal + - jammy - name: EL versions: - - 8 - categories: + - "9" + galaxy_tags: - cloud - python - development diff --git a/tasks/main.yml b/tasks/main.yml index cdf3956..de98fce 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -30,15 +30,18 @@ - always # TODO (jrosser) Remove this task for the Z release -- ansible.builtin.include_tasks: repo_sync_cleanup.yml +- name: Including repo_sync_cleanup tasks + ansible.builtin.include_tasks: repo_sync_cleanup.yml tags: - repo_server-install -- ansible.builtin.include_tasks: repo_pre_install.yml +- name: Including repo_pre_install tasks + ansible.builtin.include_tasks: repo_pre_install.yml tags: - repo_server-install -- ansible.builtin.include_tasks: repo_install.yml +- name: Including repo_install tasks + ansible.builtin.include_tasks: repo_install.yml tags: - repo_server-install @@ -62,7 +65,8 @@ tags: - always -- ansible.builtin.include_tasks: repo_post_install.yml +- name: Including repo_post_install tasks + ansible.builtin.include_tasks: repo_post_install.yml tags: - repo_server-config @@ -72,7 +76,8 @@ path: "{{ repo_service_home_folder }}/.ssh/authorized_keys" state: absent -- ansible.builtin.include_tasks: repo_install_constraints.yml +- name: Including repo_install_constraints tasks + ansible.builtin.include_tasks: repo_install_constraints.yml when: inventory_hostname == groups['repo_all'][0] tags: repo_server-config diff --git a/tasks/repo_install.yml b/tasks/repo_install.yml index 4100522..3eb78f6 100644 --- a/tasks/repo_install.yml +++ b/tasks/repo_install.yml @@ -23,8 +23,7 @@ - name: Clean yum metadata when nginx repo is removed command: dnf clean metadata - args: - warn: no + changed_when: false when: - ansible_facts['pkg_mgr'] == 'dnf' - _repo_removed is changed diff --git a/tasks/repo_install_constraints.yml b/tasks/repo_install_constraints.yml index d118b5f..3c17cdc 100644 --- a/tasks/repo_install_constraints.yml +++ b/tasks/repo_install_constraints.yml @@ -17,6 +17,7 @@ file: state: directory path: "{{ repo_upper_constraints_path }}" + mode: "0755" delegate_to: localhost # by default the u-c file is retrieved by https @@ -24,12 +25,13 @@ get_url: url: "{{ user_requirements_git_url | default('https://releases.openstack.org/constraints/upper/' ~ requirements_git_install_branch | default('master')) }}" dest: "{{ repo_upper_constraints_path }}/{{ 'upper_constraints_' ~ requirements_git_install_branch | default('master') ~ '.txt' }}" + mode: "0644" when: requirements_git_repo is search('http') delegate_to: localhost - name: Retrieve local filesystem upper constraints in CI command: - git --git-dir={{ requirements_git_repo.split('file://')[1] }}/.git show {{ requirements_git_install_branch | default('master') }}:upper-constraints.txt + git --git-dir={{ requirements_git_repo.split('file://')[1] }}/.git show {{ requirements_git_install_branch | default('master') }}:upper-constraints.txt when: requirements_git_repo is search('file://') register: _uc_contents_git delegate_to: localhost @@ -40,6 +42,7 @@ copy: content: "{{ _uc_contents_git.stdout }}" dest: "{{ repo_upper_constraints_path }}/{{ 'upper_constraints_' ~ requirements_git_install_branch | default('master') ~ '.txt' }}" + mode: "0644" when: requirements_git_repo is search('file://') delegate_to: localhost @@ -49,7 +52,7 @@ dest: "{{ repo_service_home_folder }}/repo/constraints/" owner: "{{ repo_service_user_name }}" group: "{{ repo_service_group_name }}" - mode: 0644 + mode: "0644" - name: Create a symlink for constraints file file: @@ -58,4 +61,4 @@ owner: "{{ repo_service_user_name }}" group: "{{ repo_service_group_name }}" state: link - mode: 0644 + mode: "0644" diff --git a/tasks/repo_post_install.yml b/tasks/repo_post_install.yml index 7a2bdf3..ea07a08 100644 --- a/tasks/repo_post_install.yml +++ b/tasks/repo_post_install.yml @@ -23,22 +23,24 @@ file: path: "{{ item.path }}" state: "{{ item.state | default('absent') }}" + mode: "0644" with_items: - path: "/etc/nginx/sites-enabled/default" notify: - - reload nginx + - Reload nginx - name: Drop NGINX configuration files template: src: "{{ item.src }}" dest: "{{ item.dest }}" + mode: "0644" with_items: - src: "nginx.conf.j2" dest: "/etc/nginx/nginx.conf" - src: "openstack-slushee.vhost.j2" dest: "/etc/nginx/sites-available/openstack-slushee.vhost" notify: - - reload nginx + - Reload nginx - name: Enable openstack-slushee site file: @@ -46,4 +48,4 @@ dest: "/etc/nginx/sites-enabled/openstack-slushee.vhost" state: "link" notify: - - reload nginx + - Reload nginx diff --git a/tasks/repo_pre_install.yml b/tasks/repo_pre_install.yml index 50253ba..c59df29 100644 --- a/tasks/repo_pre_install.yml +++ b/tasks/repo_pre_install.yml @@ -13,7 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -- name: create the system group +- name: Create the system group group: name: "{{ repo_service_group_name }}" state: "present" @@ -30,13 +30,13 @@ home: "{{ repo_service_home_folder }}" # NOTE(jrosser) remove this task in release after Z -- name: Test if {{ repo_service_home_folder }}/repo exists +- name: Test if {{ repo_service_home_folder }}/repo exists # noqa: name[template] stat: path: "{{ repo_service_home_folder }}/repo" register: _repo_folder_stat # NOTE(jrosser) remove this task in release after Z -- name: Test if {{ repo_service_home_folder }} is a mountpoint +- name: Test if a path is a mountpoint {{ repo_service_home_folder }} command: mountpoint -q {{ repo_service_home_folder }}/repo register: _repo_folder_mountpoint failed_when: False @@ -62,14 +62,15 @@ - skip_ansible_lint # NOTE(jrosser) remove this task in release after Z -- file: +- name: Remove folder dir during migration from lsyncd + file: path: "{{ repo_service_home_folder }}/repo" state: absent when: - _repo_folder_stat.stat.exists - _repo_folder_mountpoint.rc != 0 notify: - - reload nginx + - Reload nginx - name: Mount any remote volumes include_role: @@ -79,7 +80,7 @@ when: repo_server_systemd_mounts | length > 0 # NOTE(jrosser) ensure there is no race condition between mounting and using the filesystem -- name: Wait until {{ repo_service_home_folder }} is a mounted +- name: Wait until mount will finish for {{ repo_service_home_folder }} command: mountpoint -q {{ repo_service_home_folder }}/repo changed_when: false register: _repo_folder_is_mounted diff --git a/tasks/repo_sync_cleanup.yml b/tasks/repo_sync_cleanup.yml index 6789e41..94e2c69 100644 --- a/tasks/repo_sync_cleanup.yml +++ b/tasks/repo_sync_cleanup.yml @@ -57,5 +57,3 @@ file: path: "{{ repo_service_home_folder }}/.ssh" state: absent - -