Updates to enable jammy and finalise charmcraft builds

- Add 22.04 to charmcraft.yaml
- Update metadata to include jammy
- Remove impish from metadata
- Update osci.yaml to include py3.10 default job
- Modify tox.ini to remove py35,py36,py37 tox target and add py310
  target.
- ensure that the openstack-origin is yoga
- Fix mocking on unit tests for install.real hook

Change-Id: I7bf692965341c0cc1c84c7d3c77cce63a6cb6cbc
This commit is contained in:
Alex Kavanagh 2022-03-25 16:42:38 +00:00
parent 1887807f8f
commit eb913cfb5d
8 changed files with 48 additions and 18 deletions

View File

@ -1,4 +1,4 @@
- project:
templates:
- openstack-python3-ussuri-jobs
- openstack-python3-charm-yoga-jobs
- openstack-cover-jobs

View File

@ -22,7 +22,15 @@ parts:
- README.md
bases:
- name: ubuntu
channel: "20.04"
architectures:
- amd64
- build-on:
- name: ubuntu
channel: "20.04"
architectures:
- amd64
run-on:
- name: ubuntu
channel: "20.04"
architectures: [amd64, s390x, ppc64el, arm64]
- name: ubuntu
channel: "22.04"
architectures: [amd64, s390x, ppc64el, arm64]

View File

@ -10,7 +10,7 @@ options:
Setting this to True will allow supporting services to log to syslog.
openstack-origin:
type: string
default: distro
default: yoga
description: |
Repository from which to install. May be one of the following:
distro (default), ppa:somecustom/ppa, a deb url sources entry,

View File

@ -11,7 +11,7 @@ extra-bindings:
public: # Only used to allow specifying a hostname for DNS-HA.
series:
- focal
- impish
- jammy
provides:
nrpe-external-master:
interface: nrpe-external-master

View File

@ -1,7 +1,7 @@
- project:
templates:
- charm-unit-jobs-py38
- charm-unit-jobs-py39
- charm-unit-jobs-py310
- charm-xena-functional-jobs
- charm-yoga-functional-jobs
check:
@ -21,7 +21,8 @@
dependencies:
- osci-lint
- tox-py38
- tox-py39
- name: tox-py310
soft: true
- charm-build
vars:
tox_extra_args: vault:jammy-vault dashboard:jammy-yoga-cmr-vault

View File

@ -11,6 +11,16 @@ pbr==5.6.0
simplejson>=2.2.0
netifaces>=0.10.4
# Build requirements
cffi==1.14.6; python_version < '3.6' # cffi 1.15.0 drops support for py35.
# NOTE: newer versions of cryptography require a Rust compiler to build,
# see
# * https://github.com/openstack-charmers/zaza/issues/421
# * https://mail.python.org/pipermail/cryptography-dev/2021-January/001003.html
#
cryptography<3.4
# Strange import error with newer netaddr:
netaddr>0.7.16,<0.8.0

17
tox.ini
View File

@ -51,8 +51,8 @@ commands =
charmcraft -v build
{toxinidir}/rename.sh
[testenv:py35]
basepython = python3.5
[testenv:py3]
basepython = python3
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
@ -60,26 +60,25 @@ deps = -r{toxinidir}/requirements.txt
basepython = python3.6
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
[testenv:py37]
basepython = python3.7
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
commands = stestr run --slowest {posargs}
[testenv:py38]
basepython = python3.8
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
commands = stestr run --slowest {posargs}
[testenv:py39]
basepython = python3.9
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
commands = stestr run --slowest {posargs}
[testenv:py3]
basepython = python3
[testenv:py310]
basepython = python3.10
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
commands = stestr run --slowest {posargs}
[testenv:pep8]
basepython = python3

View File

@ -111,6 +111,12 @@ class TestHorizonHooks(CharmTestCase):
_determine_packages.return_value = []
self.filter_installed_packages.return_value = ['foo', 'bar']
self.os_release.return_value = 'icehouse'
def config_side_effect(key):
return {
'openstack-origin': 'distro',
}[key]
self.config.side_effect = config_side_effect
self._call_hook('install.real')
self.configure_installation_source.assert_called_with('distro')
self.apt_update.assert_called_with(fatal=True)
@ -122,6 +128,12 @@ class TestHorizonHooks(CharmTestCase):
self.filter_installed_packages.return_value = ['foo', 'bar']
self.os_release.return_value = 'icehouse'
self.lsb_release.return_value = {'DISTRIB_CODENAME': 'precise'}
def config_side_effect(key):
return {
'openstack-origin': 'distro',
}[key]
self.config.side_effect = config_side_effect
self._call_hook('install.real')
self.configure_installation_source.assert_called_with('distro')
self.apt_update.assert_called_with(fatal=True)