diff --git a/.zuul.yaml b/.zuul.yaml index 7ffc71c..23bf5f6 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -1,4 +1,4 @@ - project: templates: - - openstack-python3-charm-yoga-jobs + - openstack-python3-charm-zed-jobs - openstack-cover-jobs diff --git a/charmcraft.yaml b/charmcraft.yaml index 194893f..158de6c 100644 --- a/charmcraft.yaml +++ b/charmcraft.yaml @@ -31,27 +31,47 @@ parts: chmod +x src/charm.py bases: - - name: ubuntu - channel: "20.04" - architectures: [amd64] - - name: ubuntu - channel: "20.04" - architectures: [arm64] - - name: ubuntu - channel: "20.04" - architectures: [ppc64el] - - name: ubuntu - channel: "20.04" - architectures: [s390x] - - name: ubuntu - channel: "22.04" - architectures: [amd64] - - name: ubuntu - channel: "22.04" - architectures: [arm64] - - name: ubuntu - channel: "22.04" - architectures: [ppc64el] - - name: ubuntu - channel: "22.04" - architectures: [s390x] + - build-on: + - name: ubuntu + channel: "22.04" + architectures: [amd64] + run-on: + - name: ubuntu + channel: "22.04" + architectures: [amd64] + - name: ubuntu + channel: "22.10" + architectures: [amd64] + - build-on: + - name: ubuntu + channel: "22.04" + architectures: [arm64] + run-on: + - name: ubuntu + channel: "22.04" + architectures: [arm64] + - name: ubuntu + channel: "22.10" + architectures: [arm64] + - build-on: + - name: ubuntu + channel: "22.04" + architectures: [ppc64el] + run-on: + - name: ubuntu + channel: "22.04" + architectures: [ppc64el] + - name: ubuntu + channel: "22.10" + architectures: [ppc64el] + - build-on: + - name: ubuntu + channel: "22.04" + architectures: [s390x] + run-on: + - name: ubuntu + channel: "22.04" + architectures: [s390x] + - name: ubuntu + channel: "22.10" + architectures: [s390x] diff --git a/osci.yaml b/osci.yaml index e2ae714..83275cb 100644 --- a/osci.yaml +++ b/osci.yaml @@ -1,9 +1,7 @@ - project: templates: - - charm-unit-jobs-py38 - charm-unit-jobs-py310 - - charm-xena-functional-jobs - - charm-yoga-functional-jobs + - charm-zed-functional-jobs vars: needs_charm_build: true charm_build_name: octavia-dashboard diff --git a/rename.sh b/rename.sh new file mode 100755 index 0000000..d0c35c9 --- /dev/null +++ b/rename.sh @@ -0,0 +1,13 @@ +#!/bin/bash +charm=$(grep "charm_build_name" osci.yaml | awk '{print $2}') +echo "renaming ${charm}_*.charm to ${charm}.charm" +echo -n "pwd: " +pwd +ls -al +echo "Removing bad downloaded charm maybe?" +if [[ -e "${charm}.charm" ]]; +then + rm "${charm}.charm" +fi +echo "Renaming charm here." +mv ${charm}_*.charm ${charm}.charm diff --git a/requirements.txt b/requirements.txt index 7755b95..b3dc23f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -15,16 +15,6 @@ setuptools<50.0.0 # https://github.com/pypa/setuptools/commit/04e3df22df840c6bb # cryptography<3.4 -# Build requirements -cffi==1.14.6; python_version < '3.6' # cffi 1.15.0 drops support for py35. -git+https://github.com/juju/charm-tools#egg=charm-tools +git+https://github.com/juju/charm-tools.git simplejson - -# Newer versions use keywords that didn't exist in python 3.5 yet (e.g. -# "ModuleNotFoundError") -# NOTE(lourot): This might look like a duplication of test-requirements.txt but -# some tox targets use only test-requirements.txt whereas charm-build uses only -# requirements.txt -importlib-metadata<3.0.0; python_version < '3.6' -importlib-resources<3.0.0; python_version < '3.6' diff --git a/src/metadata.yaml b/src/metadata.yaml index f666d7b..aa10d91 100644 --- a/src/metadata.yaml +++ b/src/metadata.yaml @@ -6,8 +6,8 @@ description: | tags: - openstack series: -- focal - jammy +- kinetic subordinate: true requires: dashboard: diff --git a/src/test-requirements.txt b/src/test-requirements.txt index e771023..9c7afb7 100644 --- a/src/test-requirements.txt +++ b/src/test-requirements.txt @@ -4,6 +4,9 @@ # https://github.com/openstack-charmers/release-tools # +# Need tox to be available from tox... inception yes, but its a workaround for now +tox + # Functional Test Requirements (let Zaza's dependencies solve all dependencies here!) git+https://github.com/openstack-charmers/zaza.git#egg=zaza git+https://github.com/openstack-charmers/zaza-openstack-tests.git#egg=zaza.openstack diff --git a/src/tests/bundles/jammy-yoga.yaml b/src/tests/bundles/jammy-yoga.yaml index c15f50c..9e48c41 100644 --- a/src/tests/bundles/jammy-yoga.yaml +++ b/src/tests/bundles/jammy-yoga.yaml @@ -98,7 +98,7 @@ applications: channel: latest/edge octavia-dashboard: - charm: ../../../octavia-dashboard_ubuntu-22.04-amd64.charm + charm: ../../../octavia-dashboard_ubuntu-22.04-amd64_ubuntu-22.10-amd64.charm relations: diff --git a/src/tests/bundles/focal-yoga.yaml b/src/tests/bundles/jammy-zed.yaml similarity index 95% rename from src/tests/bundles/focal-yoga.yaml rename to src/tests/bundles/jammy-zed.yaml index 4be0598..ac840e5 100644 --- a/src/tests/bundles/focal-yoga.yaml +++ b/src/tests/bundles/jammy-zed.yaml @@ -1,7 +1,7 @@ variables: - openstack-origin: &openstack-origin cloud:focal-yoga + openstack-origin: &openstack-origin cloud:jammy-zed -series: focal +series: jammy comment: - 'machines section to decide order of deployment. database sooner = faster' @@ -98,7 +98,7 @@ applications: channel: latest/edge octavia-dashboard: - charm: ../../../octavia-dashboard_ubuntu-20.04-amd64.charm + charm: ../../../octavia-dashboard_ubuntu-22.04-amd64_ubuntu-22.10-amd64.charm relations: diff --git a/src/tests/bundles/focal-xena.yaml b/src/tests/bundles/kinetic-zed.yaml similarity index 95% rename from src/tests/bundles/focal-xena.yaml rename to src/tests/bundles/kinetic-zed.yaml index 3edebdc..a744342 100644 --- a/src/tests/bundles/focal-xena.yaml +++ b/src/tests/bundles/kinetic-zed.yaml @@ -1,7 +1,7 @@ variables: - openstack-origin: &openstack-origin cloud:focal-xena + openstack-origin: &openstack-origin distro -series: focal +series: kinetic comment: - 'machines section to decide order of deployment. database sooner = faster' @@ -98,7 +98,7 @@ applications: channel: latest/edge octavia-dashboard: - charm: ../../../octavia-dashboard_ubuntu-20.04-amd64.charm + charm: ../../../octavia-dashboard_ubuntu-22.04-amd64_ubuntu-22.10-amd64.charm relations: diff --git a/src/tests/tests.yaml b/src/tests/tests.yaml index 1861f5e..e4dddc6 100644 --- a/src/tests/tests.yaml +++ b/src/tests/tests.yaml @@ -1,14 +1,15 @@ charm_name: octavia-dashboard gate_bundles: -- focal-xena +- jammy-yoga smoke_bundles: -- focal-xena +- jammy-yoga dev_bundles: -- focal-yoga - jammy-yoga +- jammy-zed +- kinetic-zed comment: @@ -25,4 +26,4 @@ tests: tests_options: force_deploy: - - jammy-yoga + - kinetic-zed diff --git a/test-requirements.txt b/test-requirements.txt index 208032f..a7936e6 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -4,7 +4,6 @@ # https://github.com/openstack-charmers/release-tools # pyparsing<3.0.0 # aodhclient is pinned in zaza and needs pyparsing < 3.0.0, but cffi also needs it, so pin here. -cffi==1.14.6; python_version < '3.6' # cffi 1.15.0 drops support for py35. setuptools<50.0.0 # https://github.com/pypa/setuptools/commit/04e3df22df840c6bb244e9b27bc56750c44b7c85 stestr>=2.2.0 @@ -13,21 +12,11 @@ stestr>=2.2.0 # https://github.com/mtreinish/stestr/issues/145 cliff<3.0.0 -# Dependencies of stestr. Newer versions use keywords that didn't exist in -# python 3.5 yet (e.g. "ModuleNotFoundError") -importlib-metadata<3.0.0; python_version < '3.6' -importlib-resources<3.0.0; python_version < '3.6' - -# Some Zuul nodes sometimes pull newer versions of these dependencies which -# dropped support for python 3.5: -osprofiler<2.7.0;python_version<'3.6' -stevedore<1.31.0;python_version<'3.6' -debtcollector<1.22.0;python_version<'3.6' -oslo.utils<=3.41.0;python_version<'3.6' - requests>=2.18.4 charms.reactive +mock>=1.2 + nose>=1.3.7 coverage>=3.6 git+https://github.com/openstack/charms.openstack.git#egg=charms.openstack @@ -46,3 +35,4 @@ pbr==5.6.0 # vault cryptography<3.4 # vault, keystone-saml-mellon lxml # keystone-saml-mellon hvac # vault, barbican-vault +psutil # cinder-lvm diff --git a/tox.ini b/tox.ini index e649e6a..6df34e5 100644 --- a/tox.ini +++ b/tox.ini @@ -19,10 +19,8 @@ minversion = 3.18.0 setenv = VIRTUAL_ENV={envdir} PYTHONHASHSEED=0 TERM=linux - LAYER_PATH={toxinidir}/layers - INTERFACE_PATH={toxinidir}/interfaces JUJU_REPOSITORY={toxinidir}/build -passenv = http_proxy https_proxy INTERFACE_PATH LAYER_PATH JUJU_REPOSITORY +passenv = no_proxy http_proxy https_proxy JUJU_REPOSITORY install_command = {toxinidir}/pip.sh install {opts} {packages} allowlist_externals = @@ -54,21 +52,6 @@ basepython = python3 deps = -r{toxinidir}/test-requirements.txt commands = stestr run --slowest {posargs} -[testenv:py36] -basepython = python3.6 -deps = -r{toxinidir}/test-requirements.txt -commands = stestr run --slowest {posargs} - -[testenv:py38] -basepython = python3.8 -deps = -r{toxinidir}/test-requirements.txt -commands = stestr run --slowest {posargs} - -[testenv:py39] -basepython = python3.9 -deps = -r{toxinidir}/test-requirements.txt -commands = stestr run --slowest {posargs} - [testenv:py310] basepython = python3.10 deps = -r{toxinidir}/test-requirements.txt