From 1934ca9a550b32f16d6fadffe7d8031059fa2526 Mon Sep 17 00:00:00 2001 From: Rick Elrod Date: Thu, 21 Jan 2021 22:58:31 -0600 Subject: [PATCH] Add Ubuntu 20.04 to CI and ansible-test (#69161) Change: - Add Ubuntu 20.04 to CI now that venv is default instead of virtualenv in ansible-test. Test Plan: - CI Tickets: - Fixes #69203 Signed-off-by: Rick Elrod --- .azure-pipelines/azure-pipelines.yml | 4 +++ .../fragments/ansible-test-ubuntu2004.yml | 2 ++ .../targets/apt/tasks/apt-builddep.yml | 6 ++--- .../targets/apt/tasks/apt-multiarch.yml | 27 ++++++++++++++----- test/integration/targets/apt/tasks/apt.yml | 3 +++ .../targets/apt/vars/Ubuntu-20.yml | 1 + test/integration/targets/apt/vars/default.yml | 1 + .../incidental_setup_mongodb/tasks/main.yml | 2 ++ .../incidental_setup_rabbitmq/tasks/main.yml | 4 ++- .../targets/subversion/vars/Ubuntu-20.yml | 6 +++++ .../ansible_test/_data/completion/docker.txt | 1 + 11 files changed, 46 insertions(+), 11 deletions(-) create mode 100644 changelogs/fragments/ansible-test-ubuntu2004.yml create mode 100644 test/integration/targets/apt/vars/Ubuntu-20.yml create mode 100644 test/integration/targets/apt/vars/default.yml create mode 100644 test/integration/targets/subversion/vars/Ubuntu-20.yml diff --git a/.azure-pipelines/azure-pipelines.yml b/.azure-pipelines/azure-pipelines.yml index 4c9d53e44e2..9936bc03d15 100644 --- a/.azure-pipelines/azure-pipelines.yml +++ b/.azure-pipelines/azure-pipelines.yml @@ -130,6 +130,8 @@ stages: test: ubuntu1604 - name: Ubuntu 18.04 test: ubuntu1804 + - name: Ubuntu 20.04 + test: ubuntu2004 groups: - 1 - 2 @@ -200,6 +202,8 @@ stages: test: ubuntu1604 - name: Ubuntu 18.04 test: ubuntu1804 + - name: Ubuntu 20.04 + test: ubuntu2004 - stage: Incidental_Windows displayName: Incidental Windows dependsOn: [] diff --git a/changelogs/fragments/ansible-test-ubuntu2004.yml b/changelogs/fragments/ansible-test-ubuntu2004.yml new file mode 100644 index 00000000000..2b9d4265315 --- /dev/null +++ b/changelogs/fragments/ansible-test-ubuntu2004.yml @@ -0,0 +1,2 @@ +minor_changes: + - ansible-test - Added Ubuntu 20.04 LTS image to the default completion list diff --git a/test/integration/targets/apt/tasks/apt-builddep.yml b/test/integration/targets/apt/tasks/apt-builddep.yml index d35c90b2583..24ee1dc2ba7 100644 --- a/test/integration/targets/apt/tasks/apt-builddep.yml +++ b/test/integration/targets/apt/tasks/apt-builddep.yml @@ -29,9 +29,9 @@ when: dpkg_result is successful tags: ['test_apt_builddep'] -# install build-dep for netcat -- name: install netcat build-dep with apt - apt: pkg=netcat state=build-dep +# install build-dep for rolldice +- name: install rolldice build-dep with apt + apt: pkg=rolldice state=build-dep register: apt_result tags: ['test_apt_builddep'] diff --git a/test/integration/targets/apt/tasks/apt-multiarch.yml b/test/integration/targets/apt/tasks/apt-multiarch.yml index 6241664de25..df008d474a2 100644 --- a/test/integration/targets/apt/tasks/apt-multiarch.yml +++ b/test/integration/targets/apt/tasks/apt-multiarch.yml @@ -1,24 +1,37 @@ # verify that apt is handling multi-arch systems properly + +- name: load version specific vars + include_vars: '{{ item }}' + with_first_found: + - files: + - '{{ ansible_distribution }}-{{ ansible_distribution_major_version }}.yml' + - 'default.yml' + paths: '../vars' + - name: add architecture {{ apt_foreign_arch }} command: dpkg --add-architecture {{ apt_foreign_arch }} -- name: install hello:{{ apt_foreign_arch }} with apt - apt: pkg=hello:{{ apt_foreign_arch }} state=present update_cache=yes +- name: install {{ multiarch_test_pkg }}:{{ apt_foreign_arch }} with apt + apt: pkg={{ multiarch_test_pkg }}:{{ apt_foreign_arch }} state=present update_cache=yes register: apt_result until: apt_result is success -- name: uninstall hello:{{ apt_foreign_arch }} with apt - apt: pkg=hello:{{ apt_foreign_arch }} state=absent purge=yes +- name: check {{ multiarch_test_pkg }} version + shell: dpkg -s {{ multiarch_test_pkg }} | grep Version | awk '{print $2}' + register: pkg_version + +- name: uninstall {{ multiarch_test_pkg }}:{{ apt_foreign_arch }} with apt + apt: pkg={{ multiarch_test_pkg }}:{{ apt_foreign_arch }} state=absent purge=yes - name: install deb file - apt: deb="/var/cache/apt/archives/hello_{{ hello_version.stdout }}_{{ apt_foreign_arch }}.deb" + apt: deb="/var/cache/apt/archives/{{ multiarch_test_pkg }}_{{ pkg_version.stdout }}_{{ apt_foreign_arch }}.deb" register: apt_multi_initial - name: install deb file again - apt: deb="/var/cache/apt/archives/hello_{{ hello_version.stdout }}_{{ apt_foreign_arch }}.deb" + apt: deb="/var/cache/apt/archives/{{ multiarch_test_pkg }}_{{ pkg_version.stdout }}_{{ apt_foreign_arch }}.deb" register: apt_multi_secondary -- name: verify installation of hello:{{ apt_foreign_arch }} +- name: verify installation of {{ multiarch_test_pkg }}:{{ apt_foreign_arch }} assert: that: - "apt_multi_initial.changed" diff --git a/test/integration/targets/apt/tasks/apt.yml b/test/integration/targets/apt/tasks/apt.yml index ac79ac21d90..64314c6a6cf 100644 --- a/test/integration/targets/apt/tasks/apt.yml +++ b/test/integration/targets/apt/tasks/apt.yml @@ -309,6 +309,9 @@ - name: autoclean during install apt: pkg=hello state=present autoclean=yes +- name: undo previous install + apt: pkg=hello state=absent + # https://github.com/ansible/ansible/issues/23155 - name: create a repo file copy: diff --git a/test/integration/targets/apt/vars/Ubuntu-20.yml b/test/integration/targets/apt/vars/Ubuntu-20.yml new file mode 100644 index 00000000000..7b32755fbf7 --- /dev/null +++ b/test/integration/targets/apt/vars/Ubuntu-20.yml @@ -0,0 +1 @@ +multiarch_test_pkg: libunistring2 diff --git a/test/integration/targets/apt/vars/default.yml b/test/integration/targets/apt/vars/default.yml new file mode 100644 index 00000000000..bed3a965d01 --- /dev/null +++ b/test/integration/targets/apt/vars/default.yml @@ -0,0 +1 @@ +multiarch_test_pkg: hello diff --git a/test/integration/targets/incidental_setup_mongodb/tasks/main.yml b/test/integration/targets/incidental_setup_mongodb/tasks/main.yml index 16382ce5d10..3bd090ca63c 100644 --- a/test/integration/targets/incidental_setup_mongodb/tasks/main.yml +++ b/test/integration/targets/incidental_setup_mongodb/tasks/main.yml @@ -20,8 +20,10 @@ # https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/ # Support for Ubuntu 14.04 has been removed from MongoDB 4.0.10+, 3.6.13+, and 3.4.21+. # CentOS6 has python version issues +# Ubuntu 20.04 does not yet have the required packages - meta: end_play when: (ansible_distribution == 'Ubuntu' and ansible_distribution_version == '14.04') + or (ansible_distribution == 'Ubuntu' and ansible_distribution_version == '20.04') or (ansible_os_family == "RedHat" and ansible_distribution_major_version == '6') or ansible_os_family == "Suse" or ansible_distribution == 'Fedora' diff --git a/test/integration/targets/incidental_setup_rabbitmq/tasks/main.yml b/test/integration/targets/incidental_setup_rabbitmq/tasks/main.yml index 4f35f16f623..ad401fb3440 100644 --- a/test/integration/targets/incidental_setup_rabbitmq/tasks/main.yml +++ b/test/integration/targets/incidental_setup_rabbitmq/tasks/main.yml @@ -1,3 +1,5 @@ --- - include: ubuntu.yml - when: ansible_distribution == 'Ubuntu' + when: + - ansible_distribution == 'Ubuntu' + - ansible_distribution_release != 'focal' diff --git a/test/integration/targets/subversion/vars/Ubuntu-20.yml b/test/integration/targets/subversion/vars/Ubuntu-20.yml new file mode 100644 index 00000000000..dfe131b0e22 --- /dev/null +++ b/test/integration/targets/subversion/vars/Ubuntu-20.yml @@ -0,0 +1,6 @@ +--- +subversion_packages: +- subversion +- libapache2-mod-svn +apache_user: www-data +apache_group: www-data diff --git a/test/lib/ansible_test/_data/completion/docker.txt b/test/lib/ansible_test/_data/completion/docker.txt index 0682b2d417e..ac84a972cca 100644 --- a/test/lib/ansible_test/_data/completion/docker.txt +++ b/test/lib/ansible_test/_data/completion/docker.txt @@ -12,3 +12,4 @@ opensuse15py2 name=quay.io/ansible/opensuse15py2-test-container:1.21.0 python=2. opensuse15 name=quay.io/ansible/opensuse15-test-container:1.21.0 python=3.6 ubuntu1604 name=quay.io/ansible/ubuntu1604-test-container:1.21.0 python=2.7 seccomp=unconfined ubuntu1804 name=quay.io/ansible/ubuntu1804-test-container:1.21.0 python=3.6 seccomp=unconfined +ubuntu2004 name=quay.io/ansible/ubuntu2004-test-container:1.21.0 python=3.8 seccomp=unconfined