diff --git a/.travis.yml b/.travis.yml index 8160477..68f255d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,10 +2,13 @@ os: linux -dist: bionic +dist: focal language: shell +services: + - docker + env: jobs: - MOLECULE_SCENARIO_NAME="4.8" @@ -15,8 +18,8 @@ before_install: - | sudo apt-get -y purge python3-openssl && sudo apt-get -y autoremove sudo apt-get update && sudo apt-get install -y ca-certificates curl gcc iproute2 pwgen python3 python3-dev sudo - curl -skL https://bootstrap.pypa.io/get-pip.py | sudo -H python3 - sudo -H pip3 install --upgrade --ignore-installed --requirement requirements.txt + curl -skL https://bootstrap.pypa.io/get-pip.py | sudo -H python3 - --prefix=/usr/local + sudo -H pip3 install --prefix=/usr/local --upgrade --ignore-installed --requirement requirements.txt install: - | diff --git a/CHANGELOG.md b/CHANGELOG.md index 1201142..ce6aaf4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,9 @@ ### Major Changes + - Upgrade Travis CI test as Ubuntu Focal based + - Upgrade minimal Ansible support to 2.10.0 + ## 4.8.2-4alvistack6 - 2020-06-10 ### Major Changes diff --git a/ansible-galaxy-requirements.yml b/ansible-galaxy-requirements.yml new file mode 100644 index 0000000..98c9fba --- /dev/null +++ b/ansible-galaxy-requirements.yml @@ -0,0 +1,24 @@ +--- + +# (c) Wong Hoi Sing Edison +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +collections: + - name: community.kubernetes + src: https://galaxy.ansible.com + version: ">=1.0.0,<2.0.0" + + - name: operator_sdk.util + src: https://galaxy.ansible.com + version: ">=0.0.0,<1.0.0" diff --git a/molecule/default/create.yml b/molecule/default/create.yml index 8712141..28946c7 100644 --- a/molecule/default/create.yml +++ b/molecule/default/create.yml @@ -24,6 +24,7 @@ template: src: "{{ molecule_scenario_directory }}/{{ item.dockerfile }}" dest: "{{ molecule_ephemeral_directory }}/Dockerfile-{{ item.name }}" + mode: "0644" loop_control: label: "{{ item.name }}" loop: "{{ molecule_yml.platforms }}" diff --git a/requirements.txt b/requirements.txt index dccee89..74cbbf3 100644 --- a/requirements.txt +++ b/requirements.txt @@ -12,14 +12,15 @@ # See the License for the specific language governing permissions and # limitations under the License. -ansible>=2.9.5 -ansible-lint +ansible~=2.10.0a9 +ansible-lint~=4.3.0a6 ansible-runner ansible-runner-http argcomplete docker flake8 -molecule>=3.0.2 +jmespath +molecule~=3.0.2 molecule-vagrant netaddr openshift diff --git a/roles/catatonit b/roles/catatonit index a7b29d1..90896e9 160000 --- a/roles/catatonit +++ b/roles/catatonit @@ -1 +1 @@ -Subproject commit a7b29d154cf7824501ae9596717629eb8ceec775 +Subproject commit 90896e9603cbd8df3bc16dacc64431b1064db170 diff --git a/roles/cvs b/roles/cvs index 04986fd..89d37f0 160000 --- a/roles/cvs +++ b/roles/cvs @@ -1 +1 @@ -Subproject commit 04986fd500ab9ce9ffdbbab04285da29257e7fc5 +Subproject commit 89d37f09eb379a86426230fc3ef7b7f0464a4e57 diff --git a/roles/fisheye b/roles/fisheye index 6354b67..1c46fa5 160000 --- a/roles/fisheye +++ b/roles/fisheye @@ -1 +1 @@ -Subproject commit 6354b67289d1439c7a488fb8f3606cde16019d6a +Subproject commit 1c46fa50d8b2afe9e952747e00c975f3002a01c3 diff --git a/roles/git b/roles/git index 8f59c1a..fbc8c6b 160000 --- a/roles/git +++ b/roles/git @@ -1 +1 @@ -Subproject commit 8f59c1af7ddd3ac50778f74b368fe070807703f2 +Subproject commit fbc8c6b521a5059a647a7479262a9cae9bea7e43 diff --git a/roles/gosu b/roles/gosu index f56197b..b9e4955 160000 --- a/roles/gosu +++ b/roles/gosu @@ -1 +1 @@ -Subproject commit f56197bc3e5a3c2b16c1c4069da0c14b3a77b93a +Subproject commit b9e4955a57d191b66df373205267d23f4e74b96c diff --git a/roles/locales b/roles/locales index f716518..9a4823d 160000 --- a/roles/locales +++ b/roles/locales @@ -1 +1 @@ -Subproject commit f716518026240f11639b126edfb3e7255d898727 +Subproject commit 9a4823db4e9d70d8ec295b225bb0eee248650f5e diff --git a/roles/mercurial b/roles/mercurial index 6719b0d..5bd7e55 160000 --- a/roles/mercurial +++ b/roles/mercurial @@ -1 +1 @@ -Subproject commit 6719b0dade6e61263af3d9253f80d9564037f671 +Subproject commit 5bd7e556b0a5f880d470dbb1f618e1d231043c78 diff --git a/roles/openjdk b/roles/openjdk index 7f5985e..842de8a 160000 --- a/roles/openjdk +++ b/roles/openjdk @@ -1 +1 @@ -Subproject commit 7f5985e30deb161bb6cf2d75ee0c2e74c4b43780 +Subproject commit 842de8a626db2038f8961433914d152d5a52f3ea diff --git a/roles/perforce b/roles/perforce index 4bbcdaf..076e1ef 160000 --- a/roles/perforce +++ b/roles/perforce @@ -1 +1 @@ -Subproject commit 4bbcdaf8a192f43889f8d1f1b17ce2b7d929e3bd +Subproject commit 076e1ef8600249d801dc2081e8a2b61008006556 diff --git a/roles/python b/roles/python index fc36591..62de7a8 160000 --- a/roles/python +++ b/roles/python @@ -1 +1 @@ -Subproject commit fc36591cf39ff7c3f74faab280d5b14ac5c8eb3e +Subproject commit 62de7a8763b46f2629a8e11a439ac6fc116326a0 diff --git a/roles/svn b/roles/svn index c998db2..83a8eff 160000 --- a/roles/svn +++ b/roles/svn @@ -1 +1 @@ -Subproject commit c998db24e2be8841e11cb4e6b159f73e23bfa826 +Subproject commit 83a8eff4a23726c55e818007d3ccee1d684bc451 diff --git a/roles/timezone b/roles/timezone index d4d52bb..c4d3c09 160000 --- a/roles/timezone +++ b/roles/timezone @@ -1 +1 @@ -Subproject commit d4d52bb911b6329e177cd65a1c51d9fae61d5ce1 +Subproject commit c4d3c09f843608ff0f902161229ed3aa5c33f74b diff --git a/scripts/bootstrap-ansible.sh b/scripts/bootstrap-ansible.sh new file mode 100755 index 0000000..320c892 --- /dev/null +++ b/scripts/bootstrap-ansible.sh @@ -0,0 +1,43 @@ +#!/bin/bash + +# (c) Wong Hoi Sing Edison +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set -o xtrace + +cd "$(cd "$(dirname "$0")"; pwd -P)/../" + +# Prepare APT dependencies +if [ -x "$(command -v apt-get)" ]; then + apt-get update + apt-get install -y ca-certificates curl gcc iproute2 python3 python3-dev sudo +fi + +# Prepare YUM dependencies +if [ -x "$(command -v yum)" ]; then + yum makecache + yum install -y ca-certificates curl gcc iproute python3 python3-devel sudo +fi + +# Prepare Zypper dependencies +if [ -x "$(command -v zypper)" ]; then + zypper -n --gpg-auto-import-keys refresh + zypper -n install -y ca-certificates curl gcc iproute2 python3 python3-devel sudo +fi + +# Install PIP +curl -skL https://bootstrap.pypa.io/get-pip.py | python3 - --prefix=/usr/local + +# Install PIP dependencies +pip3 install --prefix=/usr/local --upgrade --ignore-installed --requirement requirements.txt diff --git a/scripts/bootstrap-vagrant.sh b/scripts/bootstrap-vagrant.sh new file mode 100755 index 0000000..1c7fe65 --- /dev/null +++ b/scripts/bootstrap-vagrant.sh @@ -0,0 +1,49 @@ +#!/bin/bash + +# (c) Wong Hoi Sing Edison +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set -o xtrace + +cd "$(cd "$(dirname "$0")"; pwd -P)/../" + +# Prepare APT dependencies +if [ -x "$(command -v apt-get)" ]; then + apt-get update + apt-get install -y binutils bridge-utils dnsmasq-base ebtables libvirt-clients libvirt-daemon-system libvirt-dev make qemu-kvm qemu-utils ruby-dev + curl -Os https://releases.hashicorp.com/vagrant/2.2.9/vagrant_2.2.9_x86_64.deb + dpkg -i vagrant_2.2.9_x86_64.deb + rm -rf vagrant_2.2.9_* +fi + +# Prepare YUM dependencies +if [ -x "$(command -v yum)" ]; then + yum makecache + yum install -y binutils dnsmasq ebtables libvirt libvirt-client libvirt-devel make qemu-img qemu-kvm ruby-devel virt-install + curl -Os https://releases.hashicorp.com/vagrant/2.2.9/vagrant_2.2.9_x86_64.rpm + yum localinstall vagrant_2.2.9_x86_64.rpm + rm -rf vagrant_2.2.9_* +fi + +# Prepare Zypper dependencies +if [ -x "$(command -v zypper)" ]; then + zypper -n --gpg-auto-import-keys refresh + zypper -n install -y binutils-gold bridge-utils dnsmasq ebtables libvirt libvirt-client libvirt-devel make qemu-kvm qemu-tools ruby-devel virt-install + curl -Os https://releases.hashicorp.com/vagrant/2.2.9/vagrant_2.2.9_x86_64.rpm + zypper install vagrant_2.2.9_x86_64.rpm + rm -rf vagrant_2.2.9_* +fi + +# Install vagrant-libvirt +vagrant plugin install vagrant-libvirt