diff --git a/.zuul.yaml b/.zuul.yaml index fd20909..23bf5f6 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -1,4 +1,4 @@ - project: templates: - - openstack-python3-charm-jobs + - openstack-python3-charm-zed-jobs - openstack-cover-jobs diff --git a/bindep.txt b/bindep.txt new file mode 100644 index 0000000..17575d9 --- /dev/null +++ b/bindep.txt @@ -0,0 +1,4 @@ +libffi-dev [platform:dpkg] +libpq-dev [platform:dpkg] +libxml2-dev [platform:dpkg] +libxslt1-dev [platform:dpkg] diff --git a/charmcraft.yaml b/charmcraft.yaml index c9a0ed7..218d57a 100644 --- a/charmcraft.yaml +++ b/charmcraft.yaml @@ -21,13 +21,10 @@ parts: bases: - build-on: - name: ubuntu - channel: "20.04" + channel: "22.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] diff --git a/osci.yaml b/osci.yaml index 84b1142..76260a8 100644 --- a/osci.yaml +++ b/osci.yaml @@ -2,8 +2,8 @@ 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: neutron-api-plugin-arista diff --git a/requirements.txt b/requirements.txt index 7755b95..31f9a54 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,6 +8,9 @@ # requirements.txt setuptools<50.0.0 # https://github.com/pypa/setuptools/commit/04e3df22df840c6bb244e9b27bc56750c44b7c85 +# 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 @@ -15,9 +18,8 @@ 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 +charm-tools==2.8.3; python_version < '3.10' +git+https://github.com/juju/charm-tools.git; python_version >= '3.10' simplejson diff --git a/src/metadata.yaml b/src/metadata.yaml index b102aee..b8d9e86 100644 --- a/src/metadata.yaml +++ b/src/metadata.yaml @@ -8,9 +8,6 @@ tags: - misc - networking subordinate: true -series: -- focal -- jammy provides: neutron-plugin-api-subordinate: interface: neutron-plugin-api-subordinate diff --git a/src/tests/bundles/focal-yoga.yaml b/src/tests/bundles/focal-yoga.yaml deleted file mode 100644 index fde2ad6..0000000 --- a/src/tests/bundles/focal-yoga.yaml +++ /dev/null @@ -1,196 +0,0 @@ -variables: - openstack-origin: &openstack-origin cloud:focal-yoga - -local_overlay_enabled: False - -series: &series focal - -applications: - - keystone-mysql-router: - charm: ch:mysql-router - channel: latest/edge - nova-mysql-router: - charm: ch:mysql-router - channel: latest/edge - glance-mysql-router: - charm: ch:mysql-router - channel: latest/edge - neutron-mysql-router: - charm: ch:mysql-router - channel: latest/edge - placement-mysql-router: - charm: ch:mysql-router - channel: latest/edge - mysql-innodb-cluster: - constraints: mem=3072M - charm: ch:mysql-innodb-cluster - num_units: 3 - options: - source: *openstack-origin - channel: latest/edge - - glance: - charm: ch:glance - num_units: 1 - options: - openstack-origin: *openstack-origin - channel: latest/edge - - keystone: - charm: ch:keystone - num_units: 1 - options: - openstack-origin: *openstack-origin - channel: latest/edge - - neutron-api: - charm: ch:neutron-api - num_units: 1 - options: - openstack-origin: *openstack-origin - enable-ml2-dns: False - flat-network-providers: default - vlan-ranges: default:1000:3000 - vni-ranges: 1001:2000 - neutron-security-groups: True - overlay-network-type: vxlan - use-internal-endpoints: True - enable-l3ha: True - dhcp-agents-per-network: 2 - enable-ml2-port-security: True - default-tenant-network-type: vlan - l2-population: False - ipv4-ptr-zone-prefix-size: - reverse-dns-lookup: False - dns-domain: - manage-neutron-plugin-legacy-mode: False - channel: latest/edge - - neutron-openvswitch: - charm: ch:neutron-openvswitch - num_units: 0 - options: - prevent-arp-spoofing: True - firewall-driver: openvswitch - enable-local-dhcp-and-metadata: True - bridge-mappings: default:br-data - data-port: ens7 - channel: latest/edge - - nova-cloud-controller: - charm: ch:nova-cloud-controller - num_units: 1 - options: - openstack-origin: *openstack-origin - network-manager: Neutron - channel: latest/edge - - neutron-api-plugin-arista: - charm: ../../../neutron-api-plugin-arista.charm - num_units: 0 - options: - source: *openstack-origin - - # Fake IP, will be set to arista-virt-test-fixture's IP address on test - # setup: - eapi-host: 192.0.2.42 - eapi-username: admin - eapi-password: password123 - api-type: EAPI - - placement: - charm: ch:placement - num_units: 1 - options: - openstack-origin: *openstack-origin - channel: latest/edge - - nova-compute: - charm: ch:nova-compute - num_units: 2 - constraints: mem=4G cores=4 - options: - openstack-origin: *openstack-origin - config-flags: default_ephemeral_format=ext4 - enable-live-migration: true - enable-resize: true - migration-auth-type: ssh - channel: latest/edge - - rabbitmq-server: - charm: ch:rabbitmq-server - num_units: 1 - channel: latest/edge - - lldpd: - charm: cs:lldpd - options: - interfaces-regex: 'en*' - short-name: true - - arista-virt-test-fixture: - charm: cs:~openstack-charmers-next/arista-virt-test-fixture - num_units: 1 - constraints: mem=4G - -relations: -- - keystone:shared-db - - keystone-mysql-router:shared-db -- - nova-cloud-controller:shared-db - - nova-mysql-router:shared-db -- - glance:shared-db - - glance-mysql-router:shared-db -- - neutron-api:shared-db - - neutron-mysql-router:shared-db -- - placement:shared-db - - placement-mysql-router:shared-db -- - keystone-mysql-router:db-router - - mysql-innodb-cluster:db-router -- - nova-mysql-router:db-router - - mysql-innodb-cluster:db-router -- - glance-mysql-router:db-router - - mysql-innodb-cluster:db-router -- - neutron-mysql-router:db-router - - mysql-innodb-cluster:db-router -- - placement-mysql-router:db-router - - mysql-innodb-cluster:db-router - -- - nova-compute:amqp - - rabbitmq-server:amqp -- - nova-cloud-controller:identity-service - - keystone:identity-service -- - glance:identity-service - - keystone:identity-service -- - neutron-api:identity-service - - keystone:identity-service -- - neutron-openvswitch:neutron-plugin-api - - neutron-api:neutron-plugin-api -- - neutron-api:amqp - - rabbitmq-server:amqp -- - glance:amqp - - rabbitmq-server:amqp -- - nova-cloud-controller:image-service - - glance:image-service -- - nova-compute:image-service - - glance:image-service -- - nova-cloud-controller:cloud-compute - - nova-compute:cloud-compute -- - nova-cloud-controller:amqp - - rabbitmq-server:amqp -- - nova-compute:neutron-plugin - - neutron-openvswitch:neutron-plugin -- - neutron-openvswitch:amqp - - rabbitmq-server:amqp -- - nova-cloud-controller:neutron-api - - neutron-api:neutron-api -- - neutron-api - - neutron-api-plugin-arista -- - neutron-api:neutron-plugin-api-subordinate - - neutron-api-plugin-arista:neutron-plugin-api-subordinate -- - lldpd - - nova-compute -- - placement:identity-service - - keystone:identity-service -- - placement:placement - - nova-cloud-controller:placement diff --git a/src/tests/bundles/focal-xena.yaml b/src/tests/bundles/jammy-zed.yaml similarity index 98% rename from src/tests/bundles/focal-xena.yaml rename to src/tests/bundles/jammy-zed.yaml index 47c4aca..3684eaf 100644 --- a/src/tests/bundles/focal-xena.yaml +++ b/src/tests/bundles/jammy-zed.yaml @@ -1,9 +1,9 @@ variables: - openstack-origin: &openstack-origin cloud:focal-xena + openstack-origin: &openstack-origin cloud:jammy-zed local_overlay_enabled: False -series: &series focal +series: &series jammy applications: diff --git a/src/tests/bundles/impish-xena.yaml b/src/tests/bundles/kinetic-zed.yaml similarity index 99% rename from src/tests/bundles/impish-xena.yaml rename to src/tests/bundles/kinetic-zed.yaml index 1492a63..1ac3efc 100644 --- a/src/tests/bundles/impish-xena.yaml +++ b/src/tests/bundles/kinetic-zed.yaml @@ -3,7 +3,7 @@ variables: local_overlay_enabled: False -series: &series impish +series: &series kinetic applications: diff --git a/src/tests/tests.yaml b/src/tests/tests.yaml index 143d48c..2e1fe04 100644 --- a/src/tests/tests.yaml +++ b/src/tests/tests.yaml @@ -1,15 +1,15 @@ charm_name: neutron-api-plugin-arista smoke_bundles: -- focal-xena +- jammy-yoga gate_bundles: -- focal-xena -- impish-xena +- jammy-yoga dev_bundles: -- focal-yoga - jammy-yoga +- jammy-zed +- kinetic-zed before_deploy: - zaza.openstack.charm_tests.neutron_arista.setup.download_arista_image @@ -22,5 +22,4 @@ tests: tests_options: force_deploy: - - impish-xena - - jammy-yoga + - kinetic-zed diff --git a/tox.ini b/tox.ini index e22fe48..6846e20 100644 --- a/tox.ini +++ b/tox.ini @@ -34,7 +34,7 @@ setenv = VIRTUAL_ENV={envdir} 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 INTERFACE_PATH LAYER_PATH JUJU_REPOSITORY install_command = {toxinidir}/pip.sh install {opts} {packages} allowlist_externals = @@ -68,21 +68,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 @@ -91,7 +76,7 @@ commands = stestr run --slowest {posargs} [testenv:pep8] basepython = python3 deps = flake8==3.9.2 - charm-tools==2.8.3 + git+https://github.com/juju/charm-tools.git commands = flake8 {posargs} src unit_tests [testenv:func-target]