Diff of the two buildlogs: -- --- b1/build.log 2025-01-16 22:50:50.253562574 +0000 +++ b2/build.log 2025-01-16 22:55:50.356085354 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Wed Feb 18 17:10:05 -12 2026 -I: pbuilder-time-stamp: 1771477805 +I: Current time: Fri Jan 17 12:50:53 +14 2025 +I: pbuilder-time-stamp: 1737067853 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration @@ -28,54 +28,86 @@ dpkg-source: info: applying removed-setuptools-depends.patch I: using fakeroot in build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/48532/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/25567/tmp/hooks/D01_modify_environment starting +debug: Running on ionos2-i386. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Jan 16 22:51 /bin/sh -> /bin/bash +I: Setting pbuilder2's login shell to /bin/bash +I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other +I: user script /srv/workspace/pbuilder/25567/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/25567/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build/reproducible-path' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='i386' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=22 ' - DISTRIBUTION='unstable' - HOME='/root' - HOST_ARCH='i386' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="i686-pc-linux-gnu") + BASH_VERSION='5.2.37(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=i386 + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=10 ' + DIRSTACK=() + DISTRIBUTION=unstable + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=i686 + HOST_ARCH=i386 IFS=' ' - INVOCATION_ID='7b5b9a645f5948a89d63dfecc014098d' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - LD_LIBRARY_PATH='/usr/lib/libeatmydata' - LD_PRELOAD='libeatmydata.so' - MAIL='/var/mail/root' - OPTIND='1' - PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' - PBCURRENTCOMMANDLINEOPERATION='build' - PBUILDER_OPERATION='build' - PBUILDER_PKGDATADIR='/usr/share/pbuilder' - PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' - PBUILDER_SYSCONFDIR='/etc' - PPID='48532' - PS1='# ' - PS2='> ' + INVOCATION_ID=97a5cebf350e4f61a85c4372eb488e25 + LANG=C + LANGUAGE=de_CH:de + LC_ALL=C + LD_LIBRARY_PATH=/usr/lib/libeatmydata + LD_PRELOAD=libeatmydata.so + MACHTYPE=i686-pc-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=25567 PS4='+ ' - PWD='/' - SHELL='/bin/bash' - SHLVL='2' - SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.Gz2K6Qh0/pbuilderrc_RWhi --distribution unstable --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.Gz2K6Qh0/b1 --logfile b1/build.log magnum_19.0.0-4.dsc' - SUDO_GID='112' - SUDO_UID='107' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://213.165.73.152:3128' + PWD=/ + SHELL=/bin/bash + SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix + SHLVL=3 + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.Gz2K6Qh0/pbuilderrc_CSgR --distribution unstable --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.Gz2K6Qh0/b2 --logfile b2/build.log magnum_19.0.0-4.dsc' + SUDO_GID=112 + SUDO_UID=107 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://46.16.76.132:3128 I: uname -a - Linux ionos16-i386 6.1.0-30-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.124-1 (2025-01-12) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-30-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.124-1 (2025-01-12) x86_64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Nov 22 2024 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/48532/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Nov 22 14:40 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/25567/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -635,7 +667,7 @@ Get: 390 http://deb.debian.org/debian unstable/main i386 python3-webtest all 3.0.2-1 [35.2 kB] Get: 391 http://deb.debian.org/debian unstable/main i386 python3-werkzeug all 3.1.3-2 [207 kB] Get: 392 http://deb.debian.org/debian unstable/main i386 python3-wsme all 0.12.1-5 [44.0 kB] -Fetched 124 MB in 3s (36.6 MB/s) +Fetched 124 MB in 2s (74.5 MB/s) Preconfiguring packages ... Selecting previously unselected package libpython3.13-minimal:i386. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19837 files and directories currently installed.) @@ -1877,8 +1909,8 @@ Setting up tzdata (2024b-6) ... Current default time zone: 'Etc/UTC' -Local time is now: Thu Feb 19 05:10:42 UTC 2026. -Universal Time is now: Thu Feb 19 05:10:42 UTC 2026. +Local time is now: Thu Jan 16 22:51:35 UTC 2025. +Universal Time is now: Thu Jan 16 22:51:35 UTC 2025. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up liberror-perl (0.17029-2) ... @@ -2252,7 +2284,11 @@ fakeroot is already the newest version (1.36.2-1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package -I: Running cd /build/reproducible-path/magnum-19.0.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../magnum_19.0.0-4_source.changes +I: user script /srv/workspace/pbuilder/25567/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for unstable +I: user script /srv/workspace/pbuilder/25567/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/magnum-19.0.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../magnum_19.0.0-4_source.changes dpkg-buildpackage: info: source package magnum dpkg-buildpackage: info: source version 19.0.0-4 dpkg-buildpackage: info: source distribution unstable @@ -2511,373 +2547,374 @@ [pbr] AUTHORS complete (0.0s) running build running build_py -creating build/lib/magnum/conductor/tasks -copying magnum/conductor/tasks/__init__.py -> build/lib/magnum/conductor/tasks -copying magnum/conductor/tasks/heat_tasks.py -> build/lib/magnum/conductor/tasks -creating build/lib/magnum/tests/unit/service -copying magnum/tests/unit/service/__init__.py -> build/lib/magnum/tests/unit/service -copying magnum/tests/unit/service/test_periodic.py -> build/lib/magnum/tests/unit/service -copying magnum/tests/conf_fixture.py -> build/lib/magnum/tests +creating build/lib/magnum/hacking +copying magnum/hacking/checks.py -> build/lib/magnum/hacking +copying magnum/hacking/__init__.py -> build/lib/magnum/hacking +creating build/lib/magnum/tests/functional/k8s_ironic +copying magnum/tests/functional/k8s_ironic/test_k8s_python_client.py -> build/lib/magnum/tests/functional/k8s_ironic +copying magnum/tests/functional/k8s_ironic/__init__.py -> build/lib/magnum/tests/functional/k8s_ironic +creating build/lib/magnum/common/policies +copying magnum/common/policies/magnum_service.py -> build/lib/magnum/common/policies +copying magnum/common/policies/cluster_template.py -> build/lib/magnum/common/policies +copying magnum/common/policies/stats.py -> build/lib/magnum/common/policies +copying magnum/common/policies/cluster.py -> build/lib/magnum/common/policies +copying magnum/common/policies/nodegroup.py -> build/lib/magnum/common/policies +copying magnum/common/policies/certificate.py -> build/lib/magnum/common/policies +copying magnum/common/policies/base.py -> build/lib/magnum/common/policies +copying magnum/common/policies/__init__.py -> build/lib/magnum/common/policies +copying magnum/common/policies/quota.py -> build/lib/magnum/common/policies +copying magnum/common/policies/federation.py -> build/lib/magnum/common/policies +creating build/lib/magnum/drivers +copying magnum/drivers/__init__.py -> build/lib/magnum/drivers +copying magnum/tests/functional/python_client_base.py -> build/lib/magnum/tests/functional +copying magnum/tests/functional/__init__.py -> build/lib/magnum/tests/functional +creating build/lib/magnum/tests/unit/objects +copying magnum/tests/unit/objects/test_nodegroup.py -> build/lib/magnum/tests/unit/objects +copying magnum/tests/unit/objects/test_fields.py -> build/lib/magnum/tests/unit/objects +copying magnum/tests/unit/objects/test_objects.py -> build/lib/magnum/tests/unit/objects +copying magnum/tests/unit/objects/test_x509keypair.py -> build/lib/magnum/tests/unit/objects +copying magnum/tests/unit/objects/test_cluster.py -> build/lib/magnum/tests/unit/objects +copying magnum/tests/unit/objects/test_cluster_template.py -> build/lib/magnum/tests/unit/objects +copying magnum/tests/unit/objects/test_federation.py -> build/lib/magnum/tests/unit/objects +copying magnum/tests/unit/objects/test_magnum_service.py -> build/lib/magnum/tests/unit/objects +copying magnum/tests/unit/objects/__init__.py -> build/lib/magnum/tests/unit/objects +copying magnum/tests/unit/objects/utils.py -> build/lib/magnum/tests/unit/objects +creating build/lib/magnum/tests/unit/db/sqlalchemy +copying magnum/tests/unit/db/sqlalchemy/test_types.py -> build/lib/magnum/tests/unit/db/sqlalchemy +copying magnum/tests/unit/db/sqlalchemy/__init__.py -> build/lib/magnum/tests/unit/db/sqlalchemy +creating build/lib/magnum/tests/functional/api +copying magnum/tests/functional/api/base.py -> build/lib/magnum/tests/functional/api +copying magnum/tests/functional/api/__init__.py -> build/lib/magnum/tests/functional/api +creating build/lib/magnum/tests/functional/k8s +copying magnum/tests/functional/k8s/test_magnum_python_client.py -> build/lib/magnum/tests/functional/k8s +copying magnum/tests/functional/k8s/test_k8s_python_client.py -> build/lib/magnum/tests/functional/k8s +copying magnum/tests/functional/k8s/__init__.py -> build/lib/magnum/tests/functional/k8s +copying magnum/tests/unit/test_hacking.py -> build/lib/magnum/tests/unit +copying magnum/tests/unit/__init__.py -> build/lib/magnum/tests/unit +creating build/lib/magnum/tests/unit/conductor/tasks +copying magnum/tests/unit/conductor/tasks/test_heat_tasks.py -> build/lib/magnum/tests/unit/conductor/tasks +copying magnum/tests/unit/conductor/tasks/__init__.py -> build/lib/magnum/tests/unit/conductor/tasks +creating build/lib/magnum/objects +copying magnum/objects/magnum_service.py -> build/lib/magnum/objects +copying magnum/objects/cluster_template.py -> build/lib/magnum/objects +copying magnum/objects/stats.py -> build/lib/magnum/objects +copying magnum/objects/x509keypair.py -> build/lib/magnum/objects +copying magnum/objects/cluster.py -> build/lib/magnum/objects +copying magnum/objects/fields.py -> build/lib/magnum/objects +copying magnum/objects/nodegroup.py -> build/lib/magnum/objects +copying magnum/objects/certificate.py -> build/lib/magnum/objects +copying magnum/objects/base.py -> build/lib/magnum/objects +copying magnum/objects/__init__.py -> build/lib/magnum/objects +copying magnum/objects/quota.py -> build/lib/magnum/objects +copying magnum/objects/federation.py -> build/lib/magnum/objects +creating build/lib/magnum/db +copying magnum/db/api.py -> build/lib/magnum/db +copying magnum/db/migration.py -> build/lib/magnum/db +copying magnum/db/__init__.py -> build/lib/magnum/db +creating build/lib/magnum/tests/unit/api/controllers +copying magnum/tests/unit/api/controllers/test_base.py -> build/lib/magnum/tests/unit/api/controllers +copying magnum/tests/unit/api/controllers/test_root.py -> build/lib/magnum/tests/unit/api/controllers +copying magnum/tests/unit/api/controllers/__init__.py -> build/lib/magnum/tests/unit/api/controllers +creating build/lib/magnum/db/sqlalchemy +copying magnum/db/sqlalchemy/api.py -> build/lib/magnum/db/sqlalchemy +copying magnum/db/sqlalchemy/migration.py -> build/lib/magnum/db/sqlalchemy +copying magnum/db/sqlalchemy/__init__.py -> build/lib/magnum/db/sqlalchemy +copying magnum/db/sqlalchemy/models.py -> build/lib/magnum/db/sqlalchemy +creating build/lib/magnum/drivers/heat +copying magnum/drivers/heat/driver.py -> build/lib/magnum/drivers/heat +copying magnum/drivers/heat/k8s_fedora_template_def.py -> build/lib/magnum/drivers/heat +copying magnum/drivers/heat/k8s_coreos_template_def.py -> build/lib/magnum/drivers/heat +copying magnum/drivers/heat/template_def.py -> build/lib/magnum/drivers/heat +copying magnum/drivers/heat/__init__.py -> build/lib/magnum/drivers/heat +copying magnum/drivers/heat/k8s_template_def.py -> build/lib/magnum/drivers/heat +creating build/lib/magnum/tests/unit/conductor/handlers +copying magnum/tests/unit/conductor/handlers/test_conductor_listener.py -> build/lib/magnum/tests/unit/conductor/handlers +copying magnum/tests/unit/conductor/handlers/test_cluster_conductor.py -> build/lib/magnum/tests/unit/conductor/handlers +copying magnum/tests/unit/conductor/handlers/test_indirection_api.py -> build/lib/magnum/tests/unit/conductor/handlers +copying magnum/tests/unit/conductor/handlers/test_federation_conductor.py -> build/lib/magnum/tests/unit/conductor/handlers +copying magnum/tests/unit/conductor/handlers/test_ca_conductor.py -> build/lib/magnum/tests/unit/conductor/handlers +copying magnum/tests/unit/conductor/handlers/test_nodegroup_conductor.py -> build/lib/magnum/tests/unit/conductor/handlers +copying magnum/tests/unit/conductor/handlers/__init__.py -> build/lib/magnum/tests/unit/conductor/handlers +copying magnum/tests/unit/conductor/handlers/test_k8s_cluster_conductor.py -> build/lib/magnum/tests/unit/conductor/handlers +creating build/lib/magnum/common/x509 +copying magnum/common/x509/operations.py -> build/lib/magnum/common/x509 +copying magnum/common/x509/__init__.py -> build/lib/magnum/common/x509 +copying magnum/common/x509/extensions.py -> build/lib/magnum/common/x509 +copying magnum/common/x509/validator.py -> build/lib/magnum/common/x509 +copying magnum/tests/unit/conductor/test_k8s_api.py -> build/lib/magnum/tests/unit/conductor +copying magnum/tests/unit/conductor/test_scale_manager.py -> build/lib/magnum/tests/unit/conductor +copying magnum/tests/unit/conductor/test_rpcapi.py -> build/lib/magnum/tests/unit/conductor +copying magnum/tests/unit/conductor/test_monitors.py -> build/lib/magnum/tests/unit/conductor +copying magnum/tests/unit/conductor/test_utils.py -> build/lib/magnum/tests/unit/conductor +copying magnum/tests/unit/conductor/__init__.py -> build/lib/magnum/tests/unit/conductor +copying magnum/tests/fakes.py -> build/lib/magnum/tests +copying magnum/tests/base.py -> build/lib/magnum/tests +copying magnum/tests/fake_notifier.py -> build/lib/magnum/tests copying magnum/tests/output_fixture.py -> build/lib/magnum/tests copying magnum/tests/policy_fixture.py -> build/lib/magnum/tests copying magnum/tests/__init__.py -> build/lib/magnum/tests +copying magnum/tests/conf_fixture.py -> build/lib/magnum/tests copying magnum/tests/utils.py -> build/lib/magnum/tests -copying magnum/tests/fakes.py -> build/lib/magnum/tests -copying magnum/tests/base.py -> build/lib/magnum/tests -copying magnum/tests/fake_notifier.py -> build/lib/magnum/tests -creating build/lib/magnum/drivers/k8s_fedora_coreos_v1 -copying magnum/drivers/k8s_fedora_coreos_v1/version.py -> build/lib/magnum/drivers/k8s_fedora_coreos_v1 -copying magnum/drivers/k8s_fedora_coreos_v1/driver.py -> build/lib/magnum/drivers/k8s_fedora_coreos_v1 -copying magnum/drivers/k8s_fedora_coreos_v1/template_def.py -> build/lib/magnum/drivers/k8s_fedora_coreos_v1 -copying magnum/drivers/k8s_fedora_coreos_v1/__init__.py -> build/lib/magnum/drivers/k8s_fedora_coreos_v1 -creating build/lib/magnum/cmd -copying magnum/cmd/db_manage.py -> build/lib/magnum/cmd -copying magnum/cmd/driver_manage.py -> build/lib/magnum/cmd -copying magnum/cmd/__init__.py -> build/lib/magnum/cmd -copying magnum/cmd/conductor.py -> build/lib/magnum/cmd -copying magnum/cmd/status.py -> build/lib/magnum/cmd -copying magnum/cmd/api.py -> build/lib/magnum/cmd -creating build/lib/magnum/common -copying magnum/common/rpc.py -> build/lib/magnum/common -copying magnum/common/clients.py -> build/lib/magnum/common -copying magnum/common/service.py -> build/lib/magnum/common -copying magnum/common/nova.py -> build/lib/magnum/common -copying magnum/common/context.py -> build/lib/magnum/common -copying magnum/common/exception.py -> build/lib/magnum/common -copying magnum/common/octavia.py -> build/lib/magnum/common -copying magnum/common/profiler.py -> build/lib/magnum/common -copying magnum/common/neutron.py -> build/lib/magnum/common -copying magnum/common/short_id.py -> build/lib/magnum/common -copying magnum/common/__init__.py -> build/lib/magnum/common -copying magnum/common/utils.py -> build/lib/magnum/common -copying magnum/common/config.py -> build/lib/magnum/common -copying magnum/common/urlfetch.py -> build/lib/magnum/common -copying magnum/common/name_generator.py -> build/lib/magnum/common -copying magnum/common/keystone.py -> build/lib/magnum/common -copying magnum/common/cinder.py -> build/lib/magnum/common -copying magnum/common/policy.py -> build/lib/magnum/common -copying magnum/common/rpc_service.py -> build/lib/magnum/common -creating build/lib/magnum/tests/functional -copying magnum/tests/functional/python_client_base.py -> build/lib/magnum/tests/functional -copying magnum/tests/functional/__init__.py -> build/lib/magnum/tests/functional +creating build/lib/magnum/tests/unit/common +copying magnum/tests/unit/common/test_clients.py -> build/lib/magnum/tests/unit/common +copying magnum/tests/unit/common/test_neutron.py -> build/lib/magnum/tests/unit/common +copying magnum/tests/unit/common/test_urlfetch.py -> build/lib/magnum/tests/unit/common +copying magnum/tests/unit/common/test_context.py -> build/lib/magnum/tests/unit/common +copying magnum/tests/unit/common/test_keystone.py -> build/lib/magnum/tests/unit/common +copying magnum/tests/unit/common/test_short_id.py -> build/lib/magnum/tests/unit/common +copying magnum/tests/unit/common/test_rpc.py -> build/lib/magnum/tests/unit/common +copying magnum/tests/unit/common/test_policy.py -> build/lib/magnum/tests/unit/common +copying magnum/tests/unit/common/test_exception.py -> build/lib/magnum/tests/unit/common +copying magnum/tests/unit/common/test_utils.py -> build/lib/magnum/tests/unit/common +copying magnum/tests/unit/common/__init__.py -> build/lib/magnum/tests/unit/common +copying magnum/tests/unit/common/test_profiler.py -> build/lib/magnum/tests/unit/common +copying magnum/tests/unit/common/test_service.py -> build/lib/magnum/tests/unit/common +copying magnum/tests/unit/common/test_octavia.py -> build/lib/magnum/tests/unit/common +creating build/lib/magnum/tests/unit/template +copying magnum/tests/unit/template/test_template.py -> build/lib/magnum/tests/unit/template +copying magnum/tests/unit/template/__init__.py -> build/lib/magnum/tests/unit/template +creating build/lib/magnum/service +copying magnum/service/periodic.py -> build/lib/magnum/service +copying magnum/service/__init__.py -> build/lib/magnum/service +copying magnum/tests/unit/api/test_attr_validator.py -> build/lib/magnum/tests/unit/api +copying magnum/tests/unit/api/test_validation.py -> build/lib/magnum/tests/unit/api +copying magnum/tests/unit/api/test_servicegroup.py -> build/lib/magnum/tests/unit/api +copying magnum/tests/unit/api/base.py -> build/lib/magnum/tests/unit/api +copying magnum/tests/unit/api/test_app.py -> build/lib/magnum/tests/unit/api +copying magnum/tests/unit/api/test_expose.py -> build/lib/magnum/tests/unit/api +copying magnum/tests/unit/api/__init__.py -> build/lib/magnum/tests/unit/api +copying magnum/tests/unit/api/test_hooks.py -> build/lib/magnum/tests/unit/api +copying magnum/tests/unit/api/utils.py -> build/lib/magnum/tests/unit/api +creating build/lib/magnum/tests/functional/api/v1/clients +copying magnum/tests/functional/api/v1/clients/cluster_client.py -> build/lib/magnum/tests/functional/api/v1/clients +copying magnum/tests/functional/api/v1/clients/cluster_template_client.py -> build/lib/magnum/tests/functional/api/v1/clients +copying magnum/tests/functional/api/v1/clients/cert_client.py -> build/lib/magnum/tests/functional/api/v1/clients +copying magnum/tests/functional/api/v1/clients/magnum_service_client.py -> build/lib/magnum/tests/functional/api/v1/clients +copying magnum/tests/functional/api/v1/clients/__init__.py -> build/lib/magnum/tests/functional/api/v1/clients creating build/lib/magnum/api/controllers copying magnum/api/controllers/versions.py -> build/lib/magnum/api/controllers copying magnum/api/controllers/root.py -> build/lib/magnum/api/controllers -copying magnum/api/controllers/__init__.py -> build/lib/magnum/api/controllers -copying magnum/api/controllers/link.py -> build/lib/magnum/api/controllers copying magnum/api/controllers/base.py -> build/lib/magnum/api/controllers -creating build/lib/magnum/tests/unit/conductor -copying magnum/tests/unit/conductor/test_rpcapi.py -> build/lib/magnum/tests/unit/conductor -copying magnum/tests/unit/conductor/test_k8s_api.py -> build/lib/magnum/tests/unit/conductor -copying magnum/tests/unit/conductor/test_utils.py -> build/lib/magnum/tests/unit/conductor -copying magnum/tests/unit/conductor/test_scale_manager.py -> build/lib/magnum/tests/unit/conductor -copying magnum/tests/unit/conductor/test_monitors.py -> build/lib/magnum/tests/unit/conductor -copying magnum/tests/unit/conductor/__init__.py -> build/lib/magnum/tests/unit/conductor +copying magnum/api/controllers/link.py -> build/lib/magnum/api/controllers +copying magnum/api/controllers/__init__.py -> build/lib/magnum/api/controllers creating build/lib/magnum/tests/unit/common/x509 copying magnum/tests/unit/common/x509/test_operations.py -> build/lib/magnum/tests/unit/common/x509 -copying magnum/tests/unit/common/x509/__init__.py -> build/lib/magnum/tests/unit/common/x509 -copying magnum/tests/unit/common/x509/test_validator.py -> build/lib/magnum/tests/unit/common/x509 copying magnum/tests/unit/common/x509/test_sign.py -> build/lib/magnum/tests/unit/common/x509 -creating build/lib/magnum/conf -copying magnum/conf/certificates.py -> build/lib/magnum/conf -copying magnum/conf/rpc.py -> build/lib/magnum/conf -copying magnum/conf/heat.py -> build/lib/magnum/conf -copying magnum/conf/barbican.py -> build/lib/magnum/conf -copying magnum/conf/nova.py -> build/lib/magnum/conf -copying magnum/conf/database.py -> build/lib/magnum/conf -copying magnum/conf/opts.py -> build/lib/magnum/conf -copying magnum/conf/cluster_heat.py -> build/lib/magnum/conf -copying magnum/conf/trust.py -> build/lib/magnum/conf -copying magnum/conf/octavia.py -> build/lib/magnum/conf -copying magnum/conf/profiler.py -> build/lib/magnum/conf -copying magnum/conf/drivers.py -> build/lib/magnum/conf -copying magnum/conf/kubernetes.py -> build/lib/magnum/conf -copying magnum/conf/neutron.py -> build/lib/magnum/conf -copying magnum/conf/__init__.py -> build/lib/magnum/conf -copying magnum/conf/conductor.py -> build/lib/magnum/conf -copying magnum/conf/paths.py -> build/lib/magnum/conf -copying magnum/conf/cluster.py -> build/lib/magnum/conf -copying magnum/conf/quota.py -> build/lib/magnum/conf -copying magnum/conf/docker.py -> build/lib/magnum/conf -copying magnum/conf/docker_registry.py -> build/lib/magnum/conf -copying magnum/conf/glance.py -> build/lib/magnum/conf -copying magnum/conf/magnum_client.py -> build/lib/magnum/conf -copying magnum/conf/x509.py -> build/lib/magnum/conf -copying magnum/conf/utils.py -> build/lib/magnum/conf -copying magnum/conf/keystone.py -> build/lib/magnum/conf -copying magnum/conf/cinder.py -> build/lib/magnum/conf -copying magnum/conf/services.py -> build/lib/magnum/conf -copying magnum/conf/cluster_templates.py -> build/lib/magnum/conf -copying magnum/conf/api.py -> build/lib/magnum/conf -creating build/lib/magnum/tests/unit/cmd -copying magnum/tests/unit/cmd/test_db_manage.py -> build/lib/magnum/tests/unit/cmd -copying magnum/tests/unit/cmd/test_status.py -> build/lib/magnum/tests/unit/cmd -copying magnum/tests/unit/cmd/test_conductor.py -> build/lib/magnum/tests/unit/cmd -copying magnum/tests/unit/cmd/test_api.py -> build/lib/magnum/tests/unit/cmd -copying magnum/tests/unit/cmd/__init__.py -> build/lib/magnum/tests/unit/cmd -copying magnum/tests/unit/cmd/test_driver_manage.py -> build/lib/magnum/tests/unit/cmd +copying magnum/tests/unit/common/x509/test_validator.py -> build/lib/magnum/tests/unit/common/x509 +copying magnum/tests/unit/common/x509/__init__.py -> build/lib/magnum/tests/unit/common/x509 +copying magnum/tests/unit/db/test_nodegroup.py -> build/lib/magnum/tests/unit/db +copying magnum/tests/unit/db/test_x509keypair.py -> build/lib/magnum/tests/unit/db +copying magnum/tests/unit/db/test_cluster.py -> build/lib/magnum/tests/unit/db +copying magnum/tests/unit/db/test_quota.py -> build/lib/magnum/tests/unit/db +copying magnum/tests/unit/db/test_cluster_template.py -> build/lib/magnum/tests/unit/db +copying magnum/tests/unit/db/base.py -> build/lib/magnum/tests/unit/db +copying magnum/tests/unit/db/test_federation.py -> build/lib/magnum/tests/unit/db +copying magnum/tests/unit/db/test_magnum_service.py -> build/lib/magnum/tests/unit/db +copying magnum/tests/unit/db/__init__.py -> build/lib/magnum/tests/unit/db +copying magnum/tests/unit/db/utils.py -> build/lib/magnum/tests/unit/db creating build/lib/magnum/tests/functional/common copying magnum/tests/functional/common/datagen.py -> build/lib/magnum/tests/functional/common -copying magnum/tests/functional/common/__init__.py -> build/lib/magnum/tests/functional/common -copying magnum/tests/functional/common/manager.py -> build/lib/magnum/tests/functional/common -copying magnum/tests/functional/common/utils.py -> build/lib/magnum/tests/functional/common copying magnum/tests/functional/common/config.py -> build/lib/magnum/tests/functional/common +copying magnum/tests/functional/common/base.py -> build/lib/magnum/tests/functional/common copying magnum/tests/functional/common/client.py -> build/lib/magnum/tests/functional/common +copying magnum/tests/functional/common/__init__.py -> build/lib/magnum/tests/functional/common +copying magnum/tests/functional/common/utils.py -> build/lib/magnum/tests/functional/common +copying magnum/tests/functional/common/manager.py -> build/lib/magnum/tests/functional/common copying magnum/tests/functional/common/models.py -> build/lib/magnum/tests/functional/common -copying magnum/tests/functional/common/base.py -> build/lib/magnum/tests/functional/common -creating build/lib/magnum/api/middleware -copying magnum/api/middleware/auth_token.py -> build/lib/magnum/api/middleware -copying magnum/api/middleware/__init__.py -> build/lib/magnum/api/middleware -copying magnum/api/middleware/parsable_error.py -> build/lib/magnum/api/middleware -creating build/lib/magnum/api/controllers/v1 -copying magnum/api/controllers/v1/collection.py -> build/lib/magnum/api/controllers/v1 -copying magnum/api/controllers/v1/certificate.py -> build/lib/magnum/api/controllers/v1 -copying magnum/api/controllers/v1/cluster_actions.py -> build/lib/magnum/api/controllers/v1 -copying magnum/api/controllers/v1/__init__.py -> build/lib/magnum/api/controllers/v1 -copying magnum/api/controllers/v1/stats.py -> build/lib/magnum/api/controllers/v1 -copying magnum/api/controllers/v1/cluster.py -> build/lib/magnum/api/controllers/v1 -copying magnum/api/controllers/v1/quota.py -> build/lib/magnum/api/controllers/v1 -copying magnum/api/controllers/v1/magnum_services.py -> build/lib/magnum/api/controllers/v1 -copying magnum/api/controllers/v1/federation.py -> build/lib/magnum/api/controllers/v1 -copying magnum/api/controllers/v1/cluster_template.py -> build/lib/magnum/api/controllers/v1 -copying magnum/api/controllers/v1/types.py -> build/lib/magnum/api/controllers/v1 -copying magnum/api/controllers/v1/nodegroup.py -> build/lib/magnum/api/controllers/v1 -copying magnum/tests/unit/test_hacking.py -> build/lib/magnum/tests/unit -copying magnum/tests/unit/__init__.py -> build/lib/magnum/tests/unit -creating build/lib/magnum/service -copying magnum/service/periodic.py -> build/lib/magnum/service -copying magnum/service/__init__.py -> build/lib/magnum/service -copying magnum/tests/unit/common/test_clients.py -> build/lib/magnum/tests/unit/common -copying magnum/tests/unit/common/test_keystone.py -> build/lib/magnum/tests/unit/common -copying magnum/tests/unit/common/test_policy.py -> build/lib/magnum/tests/unit/common -copying magnum/tests/unit/common/test_context.py -> build/lib/magnum/tests/unit/common -copying magnum/tests/unit/common/test_neutron.py -> build/lib/magnum/tests/unit/common -copying magnum/tests/unit/common/test_utils.py -> build/lib/magnum/tests/unit/common -copying magnum/tests/unit/common/test_rpc.py -> build/lib/magnum/tests/unit/common -copying magnum/tests/unit/common/test_urlfetch.py -> build/lib/magnum/tests/unit/common -copying magnum/tests/unit/common/test_short_id.py -> build/lib/magnum/tests/unit/common -copying magnum/tests/unit/common/test_profiler.py -> build/lib/magnum/tests/unit/common -copying magnum/tests/unit/common/__init__.py -> build/lib/magnum/tests/unit/common -copying magnum/tests/unit/common/test_service.py -> build/lib/magnum/tests/unit/common -copying magnum/tests/unit/common/test_exception.py -> build/lib/magnum/tests/unit/common -copying magnum/tests/unit/common/test_octavia.py -> build/lib/magnum/tests/unit/common -creating build/lib/magnum/common/cert_manager -copying magnum/common/cert_manager/barbican_cert_manager.py -> build/lib/magnum/common/cert_manager -copying magnum/common/cert_manager/__init__.py -> build/lib/magnum/common/cert_manager -copying magnum/common/cert_manager/x509keypair_cert_manager.py -> build/lib/magnum/common/cert_manager -copying magnum/common/cert_manager/cert_manager.py -> build/lib/magnum/common/cert_manager -copying magnum/common/cert_manager/local_cert_manager.py -> build/lib/magnum/common/cert_manager -creating build/lib/magnum/servicegroup -copying magnum/servicegroup/magnum_service_periodic.py -> build/lib/magnum/servicegroup -copying magnum/servicegroup/__init__.py -> build/lib/magnum/servicegroup -creating build/lib/magnum/tests/functional/k8s_ironic -copying magnum/tests/functional/k8s_ironic/test_k8s_python_client.py -> build/lib/magnum/tests/functional/k8s_ironic -copying magnum/tests/functional/k8s_ironic/__init__.py -> build/lib/magnum/tests/functional/k8s_ironic -creating build/lib/magnum/tests/unit/conductor/tasks -copying magnum/tests/unit/conductor/tasks/__init__.py -> build/lib/magnum/tests/unit/conductor/tasks -copying magnum/tests/unit/conductor/tasks/test_heat_tasks.py -> build/lib/magnum/tests/unit/conductor/tasks creating build/lib/magnum/tests/unit/drivers +copying magnum/tests/unit/drivers/test_heat_driver.py -> build/lib/magnum/tests/unit/drivers copying magnum/tests/unit/drivers/test_template_definition.py -> build/lib/magnum/tests/unit/drivers copying magnum/tests/unit/drivers/__init__.py -> build/lib/magnum/tests/unit/drivers -copying magnum/tests/unit/drivers/test_heat_driver.py -> build/lib/magnum/tests/unit/drivers -creating build/lib/magnum/tests/unit/template -copying magnum/tests/unit/template/__init__.py -> build/lib/magnum/tests/unit/template -copying magnum/tests/unit/template/test_template.py -> build/lib/magnum/tests/unit/template -creating build/lib/magnum/tests/functional/api/v1/clients -copying magnum/tests/functional/api/v1/clients/magnum_service_client.py -> build/lib/magnum/tests/functional/api/v1/clients -copying magnum/tests/functional/api/v1/clients/cluster_template_client.py -> build/lib/magnum/tests/functional/api/v1/clients -copying magnum/tests/functional/api/v1/clients/__init__.py -> build/lib/magnum/tests/functional/api/v1/clients -copying magnum/tests/functional/api/v1/clients/cert_client.py -> build/lib/magnum/tests/functional/api/v1/clients -copying magnum/tests/functional/api/v1/clients/cluster_client.py -> build/lib/magnum/tests/functional/api/v1/clients -creating build/lib/magnum/conductor/handlers/common -copying magnum/conductor/handlers/common/trust_manager.py -> build/lib/magnum/conductor/handlers/common -copying magnum/conductor/handlers/common/__init__.py -> build/lib/magnum/conductor/handlers/common -copying magnum/conductor/handlers/common/cert_manager.py -> build/lib/magnum/conductor/handlers/common +creating build/lib/magnum/conductor/tasks +copying magnum/conductor/tasks/heat_tasks.py -> build/lib/magnum/conductor/tasks +copying magnum/conductor/tasks/__init__.py -> build/lib/magnum/conductor/tasks +creating build/lib/magnum/servicegroup +copying magnum/servicegroup/magnum_service_periodic.py -> build/lib/magnum/servicegroup +copying magnum/servicegroup/__init__.py -> build/lib/magnum/servicegroup +creating build/lib/magnum/tests/unit/cmd +copying magnum/tests/unit/cmd/test_db_manage.py -> build/lib/magnum/tests/unit/cmd +copying magnum/tests/unit/cmd/test_status.py -> build/lib/magnum/tests/unit/cmd +copying magnum/tests/unit/cmd/test_api.py -> build/lib/magnum/tests/unit/cmd +copying magnum/tests/unit/cmd/test_conductor.py -> build/lib/magnum/tests/unit/cmd +copying magnum/tests/unit/cmd/__init__.py -> build/lib/magnum/tests/unit/cmd +copying magnum/tests/unit/cmd/test_driver_manage.py -> build/lib/magnum/tests/unit/cmd +creating build/lib/magnum/tests/unit/common/policies +copying magnum/tests/unit/common/policies/test_certificate_policy.py -> build/lib/magnum/tests/unit/common/policies +copying magnum/tests/unit/common/policies/test_quota_policy.py -> build/lib/magnum/tests/unit/common/policies +copying magnum/tests/unit/common/policies/test_magnum_service_policy.py -> build/lib/magnum/tests/unit/common/policies +copying magnum/tests/unit/common/policies/base.py -> build/lib/magnum/tests/unit/common/policies +copying magnum/tests/unit/common/policies/test_nodegroup_policy.py -> build/lib/magnum/tests/unit/common/policies +copying magnum/tests/unit/common/policies/test_stats_policy.py -> build/lib/magnum/tests/unit/common/policies +copying magnum/tests/unit/common/policies/test_cluster_template_policy.py -> build/lib/magnum/tests/unit/common/policies +copying magnum/tests/unit/common/policies/__init__.py -> build/lib/magnum/tests/unit/common/policies +copying magnum/tests/unit/common/policies/test_federation_policy.py -> build/lib/magnum/tests/unit/common/policies +copying magnum/tests/unit/common/policies/test_cluster_policy.py -> build/lib/magnum/tests/unit/common/policies creating build/lib/magnum/tests/unit/conductor/handlers/common copying magnum/tests/unit/conductor/handlers/common/test_trust_manager.py -> build/lib/magnum/tests/unit/conductor/handlers/common -copying magnum/tests/unit/conductor/handlers/common/__init__.py -> build/lib/magnum/tests/unit/conductor/handlers/common copying magnum/tests/unit/conductor/handlers/common/test_cert_manager.py -> build/lib/magnum/tests/unit/conductor/handlers/common -copying magnum/conductor/k8s_api.py -> build/lib/magnum/conductor -copying magnum/conductor/scale_manager.py -> build/lib/magnum/conductor -copying magnum/conductor/monitors.py -> build/lib/magnum/conductor -copying magnum/conductor/__init__.py -> build/lib/magnum/conductor -copying magnum/conductor/utils.py -> build/lib/magnum/conductor -copying magnum/conductor/api.py -> build/lib/magnum/conductor -creating build/lib/magnum/db/sqlalchemy -copying magnum/db/sqlalchemy/migration.py -> build/lib/magnum/db/sqlalchemy -copying magnum/db/sqlalchemy/__init__.py -> build/lib/magnum/db/sqlalchemy -copying magnum/db/sqlalchemy/models.py -> build/lib/magnum/db/sqlalchemy -copying magnum/db/sqlalchemy/api.py -> build/lib/magnum/db/sqlalchemy -creating build/lib/magnum/tests/unit/api -copying magnum/tests/unit/api/test_app.py -> build/lib/magnum/tests/unit/api -copying magnum/tests/unit/api/test_validation.py -> build/lib/magnum/tests/unit/api -copying magnum/tests/unit/api/test_expose.py -> build/lib/magnum/tests/unit/api -copying magnum/tests/unit/api/test_servicegroup.py -> build/lib/magnum/tests/unit/api -copying magnum/tests/unit/api/test_hooks.py -> build/lib/magnum/tests/unit/api -copying magnum/tests/unit/api/__init__.py -> build/lib/magnum/tests/unit/api -copying magnum/tests/unit/api/utils.py -> build/lib/magnum/tests/unit/api -copying magnum/tests/unit/api/test_attr_validator.py -> build/lib/magnum/tests/unit/api -copying magnum/tests/unit/api/base.py -> build/lib/magnum/tests/unit/api -creating build/lib/magnum/drivers/common -copying magnum/drivers/common/driver.py -> build/lib/magnum/drivers/common -copying magnum/drivers/common/k8s_scale_manager.py -> build/lib/magnum/drivers/common -copying magnum/drivers/common/__init__.py -> build/lib/magnum/drivers/common -copying magnum/drivers/common/k8s_monitor.py -> build/lib/magnum/drivers/common -creating build/lib/magnum/common/policies -copying magnum/common/policies/certificate.py -> build/lib/magnum/common/policies -copying magnum/common/policies/__init__.py -> build/lib/magnum/common/policies -copying magnum/common/policies/stats.py -> build/lib/magnum/common/policies -copying magnum/common/policies/cluster.py -> build/lib/magnum/common/policies -copying magnum/common/policies/quota.py -> build/lib/magnum/common/policies -copying magnum/common/policies/federation.py -> build/lib/magnum/common/policies -copying magnum/common/policies/magnum_service.py -> build/lib/magnum/common/policies -copying magnum/common/policies/cluster_template.py -> build/lib/magnum/common/policies -copying magnum/common/policies/nodegroup.py -> build/lib/magnum/common/policies -copying magnum/common/policies/base.py -> build/lib/magnum/common/policies -creating build/lib/magnum/tests/unit/db/sqlalchemy -copying magnum/tests/unit/db/sqlalchemy/test_types.py -> build/lib/magnum/tests/unit/db/sqlalchemy -copying magnum/tests/unit/db/sqlalchemy/__init__.py -> build/lib/magnum/tests/unit/db/sqlalchemy -creating build/lib/magnum/tests/unit/servicegroup -copying magnum/tests/unit/servicegroup/test_magnum_service.py -> build/lib/magnum/tests/unit/servicegroup -copying magnum/tests/unit/servicegroup/__init__.py -> build/lib/magnum/tests/unit/servicegroup +copying magnum/tests/unit/conductor/handlers/common/__init__.py -> build/lib/magnum/tests/unit/conductor/handlers/common creating build/lib/magnum/tests/unit/conf -copying magnum/tests/unit/conf/__init__.py -> build/lib/magnum/tests/unit/conf copying magnum/tests/unit/conf/test_conf.py -> build/lib/magnum/tests/unit/conf -copying magnum/tests/functional/api/__init__.py -> build/lib/magnum/tests/functional/api -copying magnum/tests/functional/api/base.py -> build/lib/magnum/tests/functional/api -creating build/lib/magnum/tests/unit/api/controllers -copying magnum/tests/unit/api/controllers/test_base.py -> build/lib/magnum/tests/unit/api/controllers -copying magnum/tests/unit/api/controllers/test_root.py -> build/lib/magnum/tests/unit/api/controllers -copying magnum/tests/unit/api/controllers/__init__.py -> build/lib/magnum/tests/unit/api/controllers -copying magnum/db/migration.py -> build/lib/magnum/db -copying magnum/db/__init__.py -> build/lib/magnum/db -copying magnum/db/api.py -> build/lib/magnum/db -copying magnum/version.py -> build/lib/magnum -copying magnum/__init__.py -> build/lib/magnum -copying magnum/i18n.py -> build/lib/magnum -creating build/lib/magnum/common/x509 -copying magnum/common/x509/extensions.py -> build/lib/magnum/common/x509 -copying magnum/common/x509/validator.py -> build/lib/magnum/common/x509 -copying magnum/common/x509/__init__.py -> build/lib/magnum/common/x509 -copying magnum/common/x509/operations.py -> build/lib/magnum/common/x509 +copying magnum/tests/unit/conf/__init__.py -> build/lib/magnum/tests/unit/conf +creating build/lib/magnum/tests/functional/api/v1/models +copying magnum/tests/functional/api/v1/models/clusterpatch_model.py -> build/lib/magnum/tests/functional/api/v1/models +copying magnum/tests/functional/api/v1/models/cluster_model.py -> build/lib/magnum/tests/functional/api/v1/models +copying magnum/tests/functional/api/v1/models/cluster_template_model.py -> build/lib/magnum/tests/functional/api/v1/models +copying magnum/tests/functional/api/v1/models/magnum_service_model.py -> build/lib/magnum/tests/functional/api/v1/models +copying magnum/tests/functional/api/v1/models/cert_model.py -> build/lib/magnum/tests/functional/api/v1/models +copying magnum/tests/functional/api/v1/models/cluster_templatepatch_model.py -> build/lib/magnum/tests/functional/api/v1/models +copying magnum/tests/functional/api/v1/models/__init__.py -> build/lib/magnum/tests/functional/api/v1/models +copying magnum/tests/functional/api/v1/models/cluster_id_model.py -> build/lib/magnum/tests/functional/api/v1/models creating build/lib/magnum/tests/unit/common/cert_manager -copying magnum/tests/unit/common/cert_manager/test_local.py -> build/lib/magnum/tests/unit/common/cert_manager copying magnum/tests/unit/common/cert_manager/test_x509keypair_cert_manager.py -> build/lib/magnum/tests/unit/common/cert_manager -copying magnum/tests/unit/common/cert_manager/__init__.py -> build/lib/magnum/tests/unit/common/cert_manager -copying magnum/tests/unit/common/cert_manager/test_cert_manager.py -> build/lib/magnum/tests/unit/common/cert_manager copying magnum/tests/unit/common/cert_manager/test_barbican.py -> build/lib/magnum/tests/unit/common/cert_manager -creating build/lib/magnum/tests/functional/k8s_fcos -copying magnum/tests/functional/k8s_fcos/test_k8s_python_client.py -> build/lib/magnum/tests/functional/k8s_fcos -copying magnum/tests/functional/k8s_fcos/__init__.py -> build/lib/magnum/tests/functional/k8s_fcos -creating build/lib/magnum/tests/unit/objects -copying magnum/tests/unit/objects/test_nodegroup.py -> build/lib/magnum/tests/unit/objects -copying magnum/tests/unit/objects/test_federation.py -> build/lib/magnum/tests/unit/objects -copying magnum/tests/unit/objects/test_objects.py -> build/lib/magnum/tests/unit/objects -copying magnum/tests/unit/objects/test_x509keypair.py -> build/lib/magnum/tests/unit/objects -copying magnum/tests/unit/objects/test_cluster.py -> build/lib/magnum/tests/unit/objects -copying magnum/tests/unit/objects/test_magnum_service.py -> build/lib/magnum/tests/unit/objects -copying magnum/tests/unit/objects/__init__.py -> build/lib/magnum/tests/unit/objects -copying magnum/tests/unit/objects/test_fields.py -> build/lib/magnum/tests/unit/objects -copying magnum/tests/unit/objects/utils.py -> build/lib/magnum/tests/unit/objects -copying magnum/tests/unit/objects/test_cluster_template.py -> build/lib/magnum/tests/unit/objects +copying magnum/tests/unit/common/cert_manager/test_local.py -> build/lib/magnum/tests/unit/common/cert_manager +copying magnum/tests/unit/common/cert_manager/test_cert_manager.py -> build/lib/magnum/tests/unit/common/cert_manager +copying magnum/tests/unit/common/cert_manager/__init__.py -> build/lib/magnum/tests/unit/common/cert_manager +creating build/lib/magnum/drivers/k8s_fedora_coreos_v1 +copying magnum/drivers/k8s_fedora_coreos_v1/driver.py -> build/lib/magnum/drivers/k8s_fedora_coreos_v1 +copying magnum/drivers/k8s_fedora_coreos_v1/template_def.py -> build/lib/magnum/drivers/k8s_fedora_coreos_v1 +copying magnum/drivers/k8s_fedora_coreos_v1/version.py -> build/lib/magnum/drivers/k8s_fedora_coreos_v1 +copying magnum/drivers/k8s_fedora_coreos_v1/__init__.py -> build/lib/magnum/drivers/k8s_fedora_coreos_v1 +creating build/lib/magnum/tests/unit/service +copying magnum/tests/unit/service/test_periodic.py -> build/lib/magnum/tests/unit/service +copying magnum/tests/unit/service/__init__.py -> build/lib/magnum/tests/unit/service +copying magnum/tests/functional/api/v1/__init__.py -> build/lib/magnum/tests/functional/api/v1 creating build/lib/magnum/tests/unit/api/controllers/v1 copying magnum/tests/unit/api/controllers/v1/test_nodegroup.py -> build/lib/magnum/tests/unit/api/controllers/v1 -copying magnum/tests/unit/api/controllers/v1/test_federation.py -> build/lib/magnum/tests/unit/api/controllers/v1 -copying magnum/tests/unit/api/controllers/v1/test_types.py -> build/lib/magnum/tests/unit/api/controllers/v1 copying magnum/tests/unit/api/controllers/v1/test_stats.py -> build/lib/magnum/tests/unit/api/controllers/v1 -copying magnum/tests/unit/api/controllers/v1/test_utils.py -> build/lib/magnum/tests/unit/api/controllers/v1 copying magnum/tests/unit/api/controllers/v1/test_certificate.py -> build/lib/magnum/tests/unit/api/controllers/v1 copying magnum/tests/unit/api/controllers/v1/test_cluster.py -> build/lib/magnum/tests/unit/api/controllers/v1 +copying magnum/tests/unit/api/controllers/v1/test_quota.py -> build/lib/magnum/tests/unit/api/controllers/v1 +copying magnum/tests/unit/api/controllers/v1/test_cluster_template.py -> build/lib/magnum/tests/unit/api/controllers/v1 +copying magnum/tests/unit/api/controllers/v1/test_types.py -> build/lib/magnum/tests/unit/api/controllers/v1 +copying magnum/tests/unit/api/controllers/v1/test_federation.py -> build/lib/magnum/tests/unit/api/controllers/v1 copying magnum/tests/unit/api/controllers/v1/test_magnum_service.py -> build/lib/magnum/tests/unit/api/controllers/v1 +copying magnum/tests/unit/api/controllers/v1/test_utils.py -> build/lib/magnum/tests/unit/api/controllers/v1 copying magnum/tests/unit/api/controllers/v1/__init__.py -> build/lib/magnum/tests/unit/api/controllers/v1 copying magnum/tests/unit/api/controllers/v1/test_cluster_actions.py -> build/lib/magnum/tests/unit/api/controllers/v1 -copying magnum/tests/unit/api/controllers/v1/test_quota.py -> build/lib/magnum/tests/unit/api/controllers/v1 -copying magnum/tests/unit/api/controllers/v1/test_cluster_template.py -> build/lib/magnum/tests/unit/api/controllers/v1 -creating build/lib/magnum/hacking -copying magnum/hacking/checks.py -> build/lib/magnum/hacking -copying magnum/hacking/__init__.py -> build/lib/magnum/hacking -copying magnum/drivers/__init__.py -> build/lib/magnum/drivers -creating build/lib/magnum/drivers/heat -copying magnum/drivers/heat/k8s_coreos_template_def.py -> build/lib/magnum/drivers/heat -copying magnum/drivers/heat/driver.py -> build/lib/magnum/drivers/heat -copying magnum/drivers/heat/template_def.py -> build/lib/magnum/drivers/heat -copying magnum/drivers/heat/__init__.py -> build/lib/magnum/drivers/heat -copying magnum/drivers/heat/k8s_fedora_template_def.py -> build/lib/magnum/drivers/heat -copying magnum/drivers/heat/k8s_template_def.py -> build/lib/magnum/drivers/heat -creating build/lib/magnum/tests/unit/common/policies -copying magnum/tests/unit/common/policies/test_stats_policy.py -> build/lib/magnum/tests/unit/common/policies -copying magnum/tests/unit/common/policies/test_quota_policy.py -> build/lib/magnum/tests/unit/common/policies -copying magnum/tests/unit/common/policies/test_certificate_policy.py -> build/lib/magnum/tests/unit/common/policies -copying magnum/tests/unit/common/policies/test_nodegroup_policy.py -> build/lib/magnum/tests/unit/common/policies -copying magnum/tests/unit/common/policies/test_cluster_policy.py -> build/lib/magnum/tests/unit/common/policies -copying magnum/tests/unit/common/policies/__init__.py -> build/lib/magnum/tests/unit/common/policies -copying magnum/tests/unit/common/policies/test_magnum_service_policy.py -> build/lib/magnum/tests/unit/common/policies -copying magnum/tests/unit/common/policies/test_federation_policy.py -> build/lib/magnum/tests/unit/common/policies -copying magnum/tests/unit/common/policies/test_cluster_template_policy.py -> build/lib/magnum/tests/unit/common/policies -copying magnum/tests/unit/common/policies/base.py -> build/lib/magnum/tests/unit/common/policies -copying magnum/tests/functional/api/v1/__init__.py -> build/lib/magnum/tests/functional/api/v1 -copying magnum/tests/unit/db/test_nodegroup.py -> build/lib/magnum/tests/unit/db -copying magnum/tests/unit/db/test_federation.py -> build/lib/magnum/tests/unit/db -copying magnum/tests/unit/db/test_x509keypair.py -> build/lib/magnum/tests/unit/db -copying magnum/tests/unit/db/test_cluster.py -> build/lib/magnum/tests/unit/db -copying magnum/tests/unit/db/test_magnum_service.py -> build/lib/magnum/tests/unit/db -copying magnum/tests/unit/db/__init__.py -> build/lib/magnum/tests/unit/db -copying magnum/tests/unit/db/utils.py -> build/lib/magnum/tests/unit/db -copying magnum/tests/unit/db/test_quota.py -> build/lib/magnum/tests/unit/db -copying magnum/tests/unit/db/test_cluster_template.py -> build/lib/magnum/tests/unit/db -copying magnum/tests/unit/db/base.py -> build/lib/magnum/tests/unit/db -copying magnum/tests/unit/conductor/handlers/test_ca_conductor.py -> build/lib/magnum/tests/unit/conductor/handlers -copying magnum/tests/unit/conductor/handlers/test_cluster_conductor.py -> build/lib/magnum/tests/unit/conductor/handlers -copying magnum/tests/unit/conductor/handlers/test_nodegroup_conductor.py -> build/lib/magnum/tests/unit/conductor/handlers -copying magnum/tests/unit/conductor/handlers/test_conductor_listener.py -> build/lib/magnum/tests/unit/conductor/handlers -copying magnum/tests/unit/conductor/handlers/__init__.py -> build/lib/magnum/tests/unit/conductor/handlers -copying magnum/tests/unit/conductor/handlers/test_federation_conductor.py -> build/lib/magnum/tests/unit/conductor/handlers -copying magnum/tests/unit/conductor/handlers/test_indirection_api.py -> build/lib/magnum/tests/unit/conductor/handlers -copying magnum/tests/unit/conductor/handlers/test_k8s_cluster_conductor.py -> build/lib/magnum/tests/unit/conductor/handlers -copying magnum/api/http_error.py -> build/lib/magnum/api -copying magnum/api/validation.py -> build/lib/magnum/api -copying magnum/api/__init__.py -> build/lib/magnum/api -copying magnum/api/servicegroup.py -> build/lib/magnum/api -copying magnum/api/hooks.py -> build/lib/magnum/api +creating build/lib/magnum/drivers/common +copying magnum/drivers/common/driver.py -> build/lib/magnum/drivers/common +copying magnum/drivers/common/k8s_scale_manager.py -> build/lib/magnum/drivers/common +copying magnum/drivers/common/k8s_monitor.py -> build/lib/magnum/drivers/common +copying magnum/drivers/common/__init__.py -> build/lib/magnum/drivers/common +creating build/lib/magnum/tests/unit/servicegroup +copying magnum/tests/unit/servicegroup/test_magnum_service.py -> build/lib/magnum/tests/unit/servicegroup +copying magnum/tests/unit/servicegroup/__init__.py -> build/lib/magnum/tests/unit/servicegroup +creating build/lib/magnum/conf +copying magnum/conf/conductor.py -> build/lib/magnum/conf +copying magnum/conf/api.py -> build/lib/magnum/conf +copying magnum/conf/cinder.py -> build/lib/magnum/conf +copying magnum/conf/drivers.py -> build/lib/magnum/conf +copying magnum/conf/database.py -> build/lib/magnum/conf +copying magnum/conf/cluster_templates.py -> build/lib/magnum/conf +copying magnum/conf/opts.py -> build/lib/magnum/conf +copying magnum/conf/glance.py -> build/lib/magnum/conf +copying magnum/conf/x509.py -> build/lib/magnum/conf +copying magnum/conf/cluster_heat.py -> build/lib/magnum/conf +copying magnum/conf/paths.py -> build/lib/magnum/conf +copying magnum/conf/nova.py -> build/lib/magnum/conf +copying magnum/conf/cluster.py -> build/lib/magnum/conf +copying magnum/conf/magnum_client.py -> build/lib/magnum/conf +copying magnum/conf/docker_registry.py -> build/lib/magnum/conf +copying magnum/conf/heat.py -> build/lib/magnum/conf +copying magnum/conf/octavia.py -> build/lib/magnum/conf +copying magnum/conf/neutron.py -> build/lib/magnum/conf +copying magnum/conf/profiler.py -> build/lib/magnum/conf +copying magnum/conf/kubernetes.py -> build/lib/magnum/conf +copying magnum/conf/keystone.py -> build/lib/magnum/conf +copying magnum/conf/docker.py -> build/lib/magnum/conf +copying magnum/conf/rpc.py -> build/lib/magnum/conf +copying magnum/conf/certificates.py -> build/lib/magnum/conf +copying magnum/conf/services.py -> build/lib/magnum/conf +copying magnum/conf/__init__.py -> build/lib/magnum/conf +copying magnum/conf/trust.py -> build/lib/magnum/conf +copying magnum/conf/quota.py -> build/lib/magnum/conf +copying magnum/conf/utils.py -> build/lib/magnum/conf +copying magnum/conf/barbican.py -> build/lib/magnum/conf copying magnum/api/attr_validator.py -> build/lib/magnum/api +copying magnum/api/servicegroup.py -> build/lib/magnum/api +copying magnum/api/validation.py -> build/lib/magnum/api copying magnum/api/versioned_method.py -> build/lib/magnum/api -copying magnum/api/utils.py -> build/lib/magnum/api copying magnum/api/config.py -> build/lib/magnum/api -copying magnum/api/app.py -> build/lib/magnum/api +copying magnum/api/hooks.py -> build/lib/magnum/api +copying magnum/api/http_error.py -> build/lib/magnum/api +copying magnum/api/__init__.py -> build/lib/magnum/api +copying magnum/api/utils.py -> build/lib/magnum/api copying magnum/api/expose.py -> build/lib/magnum/api -copying magnum/conductor/handlers/cluster_conductor.py -> build/lib/magnum/conductor/handlers -copying magnum/conductor/handlers/conductor_listener.py -> build/lib/magnum/conductor/handlers +copying magnum/api/app.py -> build/lib/magnum/api +creating build/lib/magnum/common/cert_manager +copying magnum/common/cert_manager/barbican_cert_manager.py -> build/lib/magnum/common/cert_manager +copying magnum/common/cert_manager/x509keypair_cert_manager.py -> build/lib/magnum/common/cert_manager +copying magnum/common/cert_manager/cert_manager.py -> build/lib/magnum/common/cert_manager +copying magnum/common/cert_manager/__init__.py -> build/lib/magnum/common/cert_manager +copying magnum/common/cert_manager/local_cert_manager.py -> build/lib/magnum/common/cert_manager +creating build/lib/magnum/conductor/handlers/common +copying magnum/conductor/handlers/common/cert_manager.py -> build/lib/magnum/conductor/handlers/common +copying magnum/conductor/handlers/common/trust_manager.py -> build/lib/magnum/conductor/handlers/common +copying magnum/conductor/handlers/common/__init__.py -> build/lib/magnum/conductor/handlers/common +creating build/lib/magnum/api/middleware +copying magnum/api/middleware/parsable_error.py -> build/lib/magnum/api/middleware +copying magnum/api/middleware/auth_token.py -> build/lib/magnum/api/middleware +copying magnum/api/middleware/__init__.py -> build/lib/magnum/api/middleware +copying magnum/conductor/k8s_api.py -> build/lib/magnum/conductor +copying magnum/conductor/api.py -> build/lib/magnum/conductor +copying magnum/conductor/monitors.py -> build/lib/magnum/conductor +copying magnum/conductor/scale_manager.py -> build/lib/magnum/conductor +copying magnum/conductor/__init__.py -> build/lib/magnum/conductor +copying magnum/conductor/utils.py -> build/lib/magnum/conductor +copying magnum/common/cinder.py -> build/lib/magnum/common +copying magnum/common/policy.py -> build/lib/magnum/common +copying magnum/common/service.py -> build/lib/magnum/common +copying magnum/common/context.py -> build/lib/magnum/common +copying magnum/common/nova.py -> build/lib/magnum/common +copying magnum/common/exception.py -> build/lib/magnum/common +copying magnum/common/rpc_service.py -> build/lib/magnum/common +copying magnum/common/octavia.py -> build/lib/magnum/common +copying magnum/common/neutron.py -> build/lib/magnum/common +copying magnum/common/config.py -> build/lib/magnum/common +copying magnum/common/urlfetch.py -> build/lib/magnum/common +copying magnum/common/profiler.py -> build/lib/magnum/common +copying magnum/common/keystone.py -> build/lib/magnum/common +copying magnum/common/rpc.py -> build/lib/magnum/common +copying magnum/common/name_generator.py -> build/lib/magnum/common +copying magnum/common/short_id.py -> build/lib/magnum/common +copying magnum/common/__init__.py -> build/lib/magnum/common +copying magnum/common/utils.py -> build/lib/magnum/common +copying magnum/common/clients.py -> build/lib/magnum/common +copying magnum/i18n.py -> build/lib/magnum +copying magnum/version.py -> build/lib/magnum +copying magnum/__init__.py -> build/lib/magnum +creating build/lib/magnum/cmd +copying magnum/cmd/conductor.py -> build/lib/magnum/cmd +copying magnum/cmd/api.py -> build/lib/magnum/cmd +copying magnum/cmd/driver_manage.py -> build/lib/magnum/cmd +copying magnum/cmd/status.py -> build/lib/magnum/cmd +copying magnum/cmd/__init__.py -> build/lib/magnum/cmd +copying magnum/cmd/db_manage.py -> build/lib/magnum/cmd +creating build/lib/magnum/api/controllers/v1 +copying magnum/api/controllers/v1/cluster_template.py -> build/lib/magnum/api/controllers/v1 +copying magnum/api/controllers/v1/stats.py -> build/lib/magnum/api/controllers/v1 +copying magnum/api/controllers/v1/magnum_services.py -> build/lib/magnum/api/controllers/v1 +copying magnum/api/controllers/v1/cluster.py -> build/lib/magnum/api/controllers/v1 +copying magnum/api/controllers/v1/nodegroup.py -> build/lib/magnum/api/controllers/v1 +copying magnum/api/controllers/v1/certificate.py -> build/lib/magnum/api/controllers/v1 +copying magnum/api/controllers/v1/cluster_actions.py -> build/lib/magnum/api/controllers/v1 +copying magnum/api/controllers/v1/collection.py -> build/lib/magnum/api/controllers/v1 +copying magnum/api/controllers/v1/__init__.py -> build/lib/magnum/api/controllers/v1 +copying magnum/api/controllers/v1/quota.py -> build/lib/magnum/api/controllers/v1 +copying magnum/api/controllers/v1/types.py -> build/lib/magnum/api/controllers/v1 +copying magnum/api/controllers/v1/federation.py -> build/lib/magnum/api/controllers/v1 +creating build/lib/magnum/tests/functional/k8s_fcos +copying magnum/tests/functional/k8s_fcos/test_k8s_python_client.py -> build/lib/magnum/tests/functional/k8s_fcos +copying magnum/tests/functional/k8s_fcos/__init__.py -> build/lib/magnum/tests/functional/k8s_fcos +copying magnum/conductor/handlers/indirection_api.py -> build/lib/magnum/conductor/handlers copying magnum/conductor/handlers/ca_conductor.py -> build/lib/magnum/conductor/handlers -copying magnum/conductor/handlers/__init__.py -> build/lib/magnum/conductor/handlers +copying magnum/conductor/handlers/conductor_listener.py -> build/lib/magnum/conductor/handlers +copying magnum/conductor/handlers/cluster_conductor.py -> build/lib/magnum/conductor/handlers copying magnum/conductor/handlers/nodegroup_conductor.py -> build/lib/magnum/conductor/handlers +copying magnum/conductor/handlers/__init__.py -> build/lib/magnum/conductor/handlers copying magnum/conductor/handlers/federation_conductor.py -> build/lib/magnum/conductor/handlers -copying magnum/conductor/handlers/indirection_api.py -> build/lib/magnum/conductor/handlers -creating build/lib/magnum/objects -copying magnum/objects/fields.py -> build/lib/magnum/objects -copying magnum/objects/x509keypair.py -> build/lib/magnum/objects -copying magnum/objects/certificate.py -> build/lib/magnum/objects -copying magnum/objects/__init__.py -> build/lib/magnum/objects -copying magnum/objects/stats.py -> build/lib/magnum/objects -copying magnum/objects/cluster.py -> build/lib/magnum/objects -copying magnum/objects/quota.py -> build/lib/magnum/objects -copying magnum/objects/federation.py -> build/lib/magnum/objects -copying magnum/objects/magnum_service.py -> build/lib/magnum/objects -copying magnum/objects/cluster_template.py -> build/lib/magnum/objects -copying magnum/objects/nodegroup.py -> build/lib/magnum/objects -copying magnum/objects/base.py -> build/lib/magnum/objects -creating build/lib/magnum/tests/functional/k8s -copying magnum/tests/functional/k8s/test_magnum_python_client.py -> build/lib/magnum/tests/functional/k8s -copying magnum/tests/functional/k8s/test_k8s_python_client.py -> build/lib/magnum/tests/functional/k8s -copying magnum/tests/functional/k8s/__init__.py -> build/lib/magnum/tests/functional/k8s -creating build/lib/magnum/tests/functional/api/v1/models -copying magnum/tests/functional/api/v1/models/cluster_model.py -> build/lib/magnum/tests/functional/api/v1/models -copying magnum/tests/functional/api/v1/models/cluster_templatepatch_model.py -> build/lib/magnum/tests/functional/api/v1/models -copying magnum/tests/functional/api/v1/models/cluster_template_model.py -> build/lib/magnum/tests/functional/api/v1/models -copying magnum/tests/functional/api/v1/models/clusterpatch_model.py -> build/lib/magnum/tests/functional/api/v1/models -copying magnum/tests/functional/api/v1/models/__init__.py -> build/lib/magnum/tests/functional/api/v1/models -copying magnum/tests/functional/api/v1/models/cert_model.py -> build/lib/magnum/tests/functional/api/v1/models -copying magnum/tests/functional/api/v1/models/cluster_id_model.py -> build/lib/magnum/tests/functional/api/v1/models -copying magnum/tests/functional/api/v1/models/magnum_service_model.py -> build/lib/magnum/tests/functional/api/v1/models running egg_info creating magnum.egg-info writing magnum.egg-info/PKG-INFO @@ -3305,19 +3342,10 @@ !! check.warn(importable) -creating build/lib/magnum/tests/contrib -copying magnum/tests/contrib/copy_instance_logs.sh -> build/lib/magnum/tests/contrib -copying magnum/tests/contrib/gate_hook.sh -> build/lib/magnum/tests/contrib -copying magnum/tests/contrib/post_test_hook.sh -> build/lib/magnum/tests/contrib -creating build/lib/magnum/tests/releasenotes/notes -copying magnum/tests/releasenotes/notes/separated-ca-certs-299c95eea1ffd9b1.yaml -> build/lib/magnum/tests/releasenotes/notes -creating build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates -copying magnum/drivers/k8s_fedora_coreos_v1/templates/COPYING -> build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates -copying magnum/drivers/k8s_fedora_coreos_v1/templates/fcct-config.yaml -> build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates -copying magnum/drivers/k8s_fedora_coreos_v1/templates/kubecluster.yaml -> build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates -copying magnum/drivers/k8s_fedora_coreos_v1/templates/kubemaster.yaml -> build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates -copying magnum/drivers/k8s_fedora_coreos_v1/templates/kubeminion.yaml -> build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates -copying magnum/drivers/k8s_fedora_coreos_v1/templates/user_data.json -> build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates +copying magnum/tests/unit/api/controllers/auth-paste.ini -> build/lib/magnum/tests/unit/api/controllers +copying magnum/tests/unit/api/controllers/auth-root-access.ini -> build/lib/magnum/tests/unit/api/controllers +copying magnum/tests/unit/api/controllers/auth-v1-access.ini -> build/lib/magnum/tests/unit/api/controllers +copying magnum/tests/unit/api/controllers/noauth-paste.ini -> build/lib/magnum/tests/unit/api/controllers copying magnum/db/sqlalchemy/alembic.ini -> build/lib/magnum/db/sqlalchemy creating build/lib/magnum/db/sqlalchemy/alembic copying magnum/db/sqlalchemy/alembic/README -> build/lib/magnum/db/sqlalchemy/alembic @@ -3399,6 +3427,19 @@ copying magnum/db/sqlalchemy/alembic/versions/f1d8b0ab8b8d_added_observations_to_cluster_template.py -> build/lib/magnum/db/sqlalchemy/alembic/versions copying magnum/db/sqlalchemy/alembic/versions/fb03fdef8919_rename_baymodel_to_clustertemplate.py -> build/lib/magnum/db/sqlalchemy/alembic/versions copying magnum/db/sqlalchemy/alembic/versions/fcb4efee8f8b_add_version_info_to_bay.py -> build/lib/magnum/db/sqlalchemy/alembic/versions +creating build/lib/magnum/tests/contrib +copying magnum/tests/contrib/copy_instance_logs.sh -> build/lib/magnum/tests/contrib +copying magnum/tests/contrib/gate_hook.sh -> build/lib/magnum/tests/contrib +copying magnum/tests/contrib/post_test_hook.sh -> build/lib/magnum/tests/contrib +creating build/lib/magnum/tests/releasenotes/notes +copying magnum/tests/releasenotes/notes/separated-ca-certs-299c95eea1ffd9b1.yaml -> build/lib/magnum/tests/releasenotes/notes +creating build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates +copying magnum/drivers/k8s_fedora_coreos_v1/templates/COPYING -> build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates +copying magnum/drivers/k8s_fedora_coreos_v1/templates/fcct-config.yaml -> build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates +copying magnum/drivers/k8s_fedora_coreos_v1/templates/kubecluster.yaml -> build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates +copying magnum/drivers/k8s_fedora_coreos_v1/templates/kubemaster.yaml -> build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates +copying magnum/drivers/k8s_fedora_coreos_v1/templates/kubeminion.yaml -> build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates +copying magnum/drivers/k8s_fedora_coreos_v1/templates/user_data.json -> build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates creating build/lib/magnum/drivers/common/templates copying magnum/drivers/common/templates/lb_api.yaml -> build/lib/magnum/drivers/common/templates copying magnum/drivers/common/templates/lb_etcd.yaml -> build/lib/magnum/drivers/common/templates @@ -3471,968 +3512,964 @@ copying magnum/drivers/common/templates/kubernetes/helm/metrics-server.sh -> build/lib/magnum/drivers/common/templates/kubernetes/helm copying magnum/drivers/common/templates/kubernetes/helm/prometheus-adapter.sh -> build/lib/magnum/drivers/common/templates/kubernetes/helm copying magnum/drivers/common/templates/kubernetes/helm/prometheus-operator.sh -> build/lib/magnum/drivers/common/templates/kubernetes/helm -copying magnum/tests/unit/api/controllers/auth-paste.ini -> build/lib/magnum/tests/unit/api/controllers -copying magnum/tests/unit/api/controllers/auth-root-access.ini -> build/lib/magnum/tests/unit/api/controllers -copying magnum/tests/unit/api/controllers/auth-v1-access.ini -> build/lib/magnum/tests/unit/api/controllers -copying magnum/tests/unit/api/controllers/noauth-paste.ini -> build/lib/magnum/tests/unit/api/controllers copying magnum/api/app.wsgi -> build/lib/magnum/api copying magnum/api/rest_api_version_history.rst -> build/lib/magnum/api running install_lib creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum -copying build/lib/magnum/version.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor +copying build/lib/magnum/conductor/k8s_api.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor +copying build/lib/magnum/conductor/api.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor +copying build/lib/magnum/conductor/monitors.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor +copying build/lib/magnum/conductor/scale_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks +copying build/lib/magnum/conductor/tasks/heat_tasks.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks +copying build/lib/magnum/conductor/tasks/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers +copying build/lib/magnum/conductor/handlers/indirection_api.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers +copying build/lib/magnum/conductor/handlers/ca_conductor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers +copying build/lib/magnum/conductor/handlers/conductor_listener.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers +copying build/lib/magnum/conductor/handlers/cluster_conductor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers +copying build/lib/magnum/conductor/handlers/nodegroup_conductor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers +copying build/lib/magnum/conductor/handlers/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common +copying build/lib/magnum/conductor/handlers/common/cert_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common +copying build/lib/magnum/conductor/handlers/common/trust_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common +copying build/lib/magnum/conductor/handlers/common/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common +copying build/lib/magnum/conductor/handlers/federation_conductor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers +copying build/lib/magnum/conductor/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor +copying build/lib/magnum/conductor/utils.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/servicegroup copying build/lib/magnum/servicegroup/magnum_service_periodic.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/servicegroup copying build/lib/magnum/servicegroup/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/servicegroup -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/rpc.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/clients.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/service.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/nova.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/context.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/exception.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/octavia.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/certificate.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/stats.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/quota.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/federation.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/magnum_service.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/cluster_template.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/nodegroup.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/base.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/profiler.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/neutron.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/short_id.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/utils.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/config.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager -copying build/lib/magnum/common/cert_manager/barbican_cert_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager -copying build/lib/magnum/common/cert_manager/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager -copying build/lib/magnum/common/cert_manager/x509keypair_cert_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager -copying build/lib/magnum/common/cert_manager/cert_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager -copying build/lib/magnum/common/cert_manager/local_cert_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager -copying build/lib/magnum/common/urlfetch.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/name_generator.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/keystone.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/cinder.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/policy.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509 -copying build/lib/magnum/common/x509/extensions.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509 -copying build/lib/magnum/common/x509/validator.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509 -copying build/lib/magnum/common/x509/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509 -copying build/lib/magnum/common/x509/operations.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509 -copying build/lib/magnum/common/rpc_service.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd -copying build/lib/magnum/cmd/db_manage.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd -copying build/lib/magnum/cmd/driver_manage.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd -copying build/lib/magnum/cmd/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd -copying build/lib/magnum/cmd/conductor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd -copying build/lib/magnum/cmd/status.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd -copying build/lib/magnum/cmd/api.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects -copying build/lib/magnum/objects/fields.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects +copying build/lib/magnum/objects/magnum_service.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects +copying build/lib/magnum/objects/cluster_template.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects +copying build/lib/magnum/objects/stats.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects copying build/lib/magnum/objects/x509keypair.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects +copying build/lib/magnum/objects/cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects +copying build/lib/magnum/objects/fields.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects +copying build/lib/magnum/objects/nodegroup.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects copying build/lib/magnum/objects/certificate.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects +copying build/lib/magnum/objects/base.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects copying build/lib/magnum/objects/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects -copying build/lib/magnum/objects/stats.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects -copying build/lib/magnum/objects/cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects copying build/lib/magnum/objects/quota.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects copying build/lib/magnum/objects/federation.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects -copying build/lib/magnum/objects/magnum_service.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects -copying build/lib/magnum/objects/cluster_template.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects -copying build/lib/magnum/objects/nodegroup.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects -copying build/lib/magnum/objects/base.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects +copying build/lib/magnum/i18n.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/service copying build/lib/magnum/service/periodic.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/service copying build/lib/magnum/service/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/service -copying build/lib/magnum/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor -copying build/lib/magnum/conductor/k8s_api.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks -copying build/lib/magnum/conductor/tasks/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks -copying build/lib/magnum/conductor/tasks/heat_tasks.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks -copying build/lib/magnum/conductor/scale_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor -copying build/lib/magnum/conductor/monitors.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor -copying build/lib/magnum/conductor/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor -copying build/lib/magnum/conductor/utils.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor -copying build/lib/magnum/conductor/api.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common -copying build/lib/magnum/conductor/handlers/common/trust_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common -copying build/lib/magnum/conductor/handlers/common/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common -copying build/lib/magnum/conductor/handlers/common/cert_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common -copying build/lib/magnum/conductor/handlers/cluster_conductor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers -copying build/lib/magnum/conductor/handlers/conductor_listener.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers -copying build/lib/magnum/conductor/handlers/ca_conductor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers -copying build/lib/magnum/conductor/handlers/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers -copying build/lib/magnum/conductor/handlers/nodegroup_conductor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers -copying build/lib/magnum/conductor/handlers/federation_conductor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers -copying build/lib/magnum/conductor/handlers/indirection_api.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates -copying build/lib/magnum/drivers/common/templates/network.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates -copying build/lib/magnum/drivers/common/templates/lb_api.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/helm -copying build/lib/magnum/drivers/common/templates/kubernetes/helm/metrics-server.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/helm -copying build/lib/magnum/drivers/common/templates/kubernetes/helm/prometheus-adapter.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/helm -copying build/lib/magnum/drivers/common/templates/kubernetes/helm/ingress-nginx.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/helm -copying build/lib/magnum/drivers/common/templates/kubernetes/helm/prometheus-operator.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/helm -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/make-cert-client.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-services-master.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/rotate-kubernetes-ca-certs-worker.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-ingress-octavia.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/core-dns-service.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/configure-kubernetes-master.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/kube-apiserver-to-kubelet-role.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/kube-dashboard-service.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/start-container-agent.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/install-cri.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/wc-notify-master.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-keystone-auth.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-auto-healing.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/make-cert.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/install-helm.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/install-helm-modules.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-prometheus-monitoring.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/write-heat-params-master.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-services-minion.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/write-kube-os-config.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/disable-selinux.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/install-clients.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/configure-kubernetes-minion.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-cinder-csi.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/add-proxy.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-ingress-controller.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-ingress-traefik.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-auto-scaling.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/calico-service-v3-26-x.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/configure-etcd.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/upgrade-kubernetes.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/write-heat-params.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/flannel-service.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-cert-api-manager.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/calico-service-v3-21-x.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/rotate-kubernetes-ca-certs-master.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/lb_etcd.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments -copying build/lib/magnum/drivers/common/templates/environments/with_master_lb_octavia.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments -copying build/lib/magnum/drivers/common/templates/environments/no_etcd_volume.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments -copying build/lib/magnum/drivers/common/templates/environments/no_private_network.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments -copying build/lib/magnum/drivers/common/templates/environments/enable_lb_floating_ip.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments -copying build/lib/magnum/drivers/common/templates/environments/with_master_lb.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments -copying build/lib/magnum/drivers/common/templates/environments/with_volume.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments -copying build/lib/magnum/drivers/common/templates/environments/with_etcd_volume.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments -copying build/lib/magnum/drivers/common/templates/environments/no_master_lb.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments -copying build/lib/magnum/drivers/common/templates/environments/disable_lb_floating_ip.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments -copying build/lib/magnum/drivers/common/templates/environments/enable_floating_ip.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments -copying build/lib/magnum/drivers/common/templates/environments/disable_floating_ip.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments -copying build/lib/magnum/drivers/common/templates/environments/with_private_network.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments -copying build/lib/magnum/drivers/common/templates/environments/no_volume.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments -copying build/lib/magnum/drivers/common/templates/fragments/configure_docker_storage_driver_fedora_coreos.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments -copying build/lib/magnum/drivers/common/templates/fragments/api_gateway_switcher_master.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments -copying build/lib/magnum/drivers/common/templates/fragments/configure-docker-storage.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments -copying build/lib/magnum/drivers/common/templates/fragments/configure-docker-registry.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments -copying build/lib/magnum/drivers/common/templates/fragments/network_switcher_existing.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments -copying build/lib/magnum/drivers/common/templates/fragments/network_switcher_private.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments -copying build/lib/magnum/drivers/common/templates/fragments/floating_ip_address_switcher_public.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments -copying build/lib/magnum/drivers/common/templates/fragments/floating_ip_address_switcher_private.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments -copying build/lib/magnum/drivers/common/templates/fragments/api_gateway_switcher_pool.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments -copying build/lib/magnum/drivers/common/templates/fragments/enable-docker-registry.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments -copying build/lib/magnum/drivers/common/templates/fragments/atomic-install-openstack-ca.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments -copying build/lib/magnum/drivers/common/driver.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common -copying build/lib/magnum/drivers/common/k8s_scale_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common -copying build/lib/magnum/drivers/common/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common -copying build/lib/magnum/drivers/common/k8s_monitor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat -copying build/lib/magnum/drivers/heat/k8s_coreos_template_def.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat -copying build/lib/magnum/drivers/heat/driver.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat -copying build/lib/magnum/drivers/heat/template_def.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat -copying build/lib/magnum/drivers/heat/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat -copying build/lib/magnum/drivers/heat/k8s_fedora_template_def.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat -copying build/lib/magnum/drivers/heat/k8s_template_def.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat -copying build/lib/magnum/drivers/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1 -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/templates -copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates/kubemaster.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/templates -copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates/kubeminion.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/templates -copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates/user_data.json -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/templates -copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates/COPYING -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/templates -copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates/fcct-config.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/templates -copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates/kubecluster.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/templates -copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/version.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1 -copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/driver.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1 -copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/template_def.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1 -copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1 creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests -copying build/lib/magnum/tests/conf_fixture.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests -copying build/lib/magnum/tests/output_fixture.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests -copying build/lib/magnum/tests/policy_fixture.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/contrib -copying build/lib/magnum/tests/contrib/copy_instance_logs.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/contrib -copying build/lib/magnum/tests/contrib/post_test_hook.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/contrib -copying build/lib/magnum/tests/contrib/gate_hook.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/contrib -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/releasenotes -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/releasenotes/notes -copying build/lib/magnum/tests/releasenotes/notes/separated-ca-certs-299c95eea1ffd9b1.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/releasenotes/notes -copying build/lib/magnum/tests/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests -copying build/lib/magnum/tests/utils.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests +copying build/lib/magnum/tests/fakes.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit +copying build/lib/magnum/tests/unit/test_hacking.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor +copying build/lib/magnum/tests/unit/conductor/test_k8s_api.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/tasks +copying build/lib/magnum/tests/unit/conductor/tasks/test_heat_tasks.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/tasks +copying build/lib/magnum/tests/unit/conductor/tasks/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/tasks +copying build/lib/magnum/tests/unit/conductor/test_scale_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers +copying build/lib/magnum/tests/unit/conductor/handlers/test_conductor_listener.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers +copying build/lib/magnum/tests/unit/conductor/handlers/test_cluster_conductor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers +copying build/lib/magnum/tests/unit/conductor/handlers/test_indirection_api.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers +copying build/lib/magnum/tests/unit/conductor/handlers/test_federation_conductor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers +copying build/lib/magnum/tests/unit/conductor/handlers/test_ca_conductor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers +copying build/lib/magnum/tests/unit/conductor/handlers/test_nodegroup_conductor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers +copying build/lib/magnum/tests/unit/conductor/handlers/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common +copying build/lib/magnum/tests/unit/conductor/handlers/common/test_trust_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common +copying build/lib/magnum/tests/unit/conductor/handlers/common/test_cert_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common +copying build/lib/magnum/tests/unit/conductor/handlers/common/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common +copying build/lib/magnum/tests/unit/conductor/handlers/test_k8s_cluster_conductor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers +copying build/lib/magnum/tests/unit/conductor/test_rpcapi.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor +copying build/lib/magnum/tests/unit/conductor/test_monitors.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor +copying build/lib/magnum/tests/unit/conductor/test_utils.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor +copying build/lib/magnum/tests/unit/conductor/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/servicegroup copying build/lib/magnum/tests/unit/servicegroup/test_magnum_service.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/servicegroup copying build/lib/magnum/tests/unit/servicegroup/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/servicegroup -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common -copying build/lib/magnum/tests/unit/common/test_clients.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common -copying build/lib/magnum/tests/unit/common/test_keystone.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common -copying build/lib/magnum/tests/unit/common/test_policy.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common -copying build/lib/magnum/tests/unit/common/test_context.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common -copying build/lib/magnum/tests/unit/common/test_neutron.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common -copying build/lib/magnum/tests/unit/common/test_utils.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common -copying build/lib/magnum/tests/unit/common/test_rpc.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies -copying build/lib/magnum/tests/unit/common/policies/test_stats_policy.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies -copying build/lib/magnum/tests/unit/common/policies/test_quota_policy.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies -copying build/lib/magnum/tests/unit/common/policies/test_certificate_policy.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies -copying build/lib/magnum/tests/unit/common/policies/test_nodegroup_policy.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies -copying build/lib/magnum/tests/unit/common/policies/test_cluster_policy.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies -copying build/lib/magnum/tests/unit/common/policies/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies -copying build/lib/magnum/tests/unit/common/policies/test_magnum_service_policy.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies -copying build/lib/magnum/tests/unit/common/policies/test_federation_policy.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies -copying build/lib/magnum/tests/unit/common/policies/test_cluster_template_policy.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies -copying build/lib/magnum/tests/unit/common/policies/base.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies -copying build/lib/magnum/tests/unit/common/test_urlfetch.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common -copying build/lib/magnum/tests/unit/common/test_short_id.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common -copying build/lib/magnum/tests/unit/common/test_profiler.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common -copying build/lib/magnum/tests/unit/common/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common -copying build/lib/magnum/tests/unit/common/test_service.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager -copying build/lib/magnum/tests/unit/common/cert_manager/test_local.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager -copying build/lib/magnum/tests/unit/common/cert_manager/test_x509keypair_cert_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager -copying build/lib/magnum/tests/unit/common/cert_manager/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager -copying build/lib/magnum/tests/unit/common/cert_manager/test_cert_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager -copying build/lib/magnum/tests/unit/common/cert_manager/test_barbican.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager -copying build/lib/magnum/tests/unit/common/test_exception.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common -copying build/lib/magnum/tests/unit/common/test_octavia.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509 -copying build/lib/magnum/tests/unit/common/x509/test_operations.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509 -copying build/lib/magnum/tests/unit/common/x509/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509 -copying build/lib/magnum/tests/unit/common/x509/test_validator.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509 -copying build/lib/magnum/tests/unit/common/x509/test_sign.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509 -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/template -copying build/lib/magnum/tests/unit/template/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/template -copying build/lib/magnum/tests/unit/template/test_template.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/template -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd -copying build/lib/magnum/tests/unit/cmd/test_db_manage.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd -copying build/lib/magnum/tests/unit/cmd/test_status.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd -copying build/lib/magnum/tests/unit/cmd/test_conductor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd -copying build/lib/magnum/tests/unit/cmd/test_api.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd -copying build/lib/magnum/tests/unit/cmd/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd -copying build/lib/magnum/tests/unit/cmd/test_driver_manage.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects copying build/lib/magnum/tests/unit/objects/test_nodegroup.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects -copying build/lib/magnum/tests/unit/objects/test_federation.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects +copying build/lib/magnum/tests/unit/objects/test_fields.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects copying build/lib/magnum/tests/unit/objects/test_objects.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects copying build/lib/magnum/tests/unit/objects/test_x509keypair.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects copying build/lib/magnum/tests/unit/objects/test_cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects +copying build/lib/magnum/tests/unit/objects/test_cluster_template.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects +copying build/lib/magnum/tests/unit/objects/test_federation.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects copying build/lib/magnum/tests/unit/objects/test_magnum_service.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects copying build/lib/magnum/tests/unit/objects/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects -copying build/lib/magnum/tests/unit/objects/test_fields.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects copying build/lib/magnum/tests/unit/objects/utils.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects -copying build/lib/magnum/tests/unit/objects/test_cluster_template.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/service -copying build/lib/magnum/tests/unit/service/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/service copying build/lib/magnum/tests/unit/service/test_periodic.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/service -copying build/lib/magnum/tests/unit/test_hacking.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit +copying build/lib/magnum/tests/unit/service/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/service +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db +copying build/lib/magnum/tests/unit/db/test_nodegroup.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db +copying build/lib/magnum/tests/unit/db/test_x509keypair.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db +copying build/lib/magnum/tests/unit/db/test_cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db +copying build/lib/magnum/tests/unit/db/test_quota.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db +copying build/lib/magnum/tests/unit/db/test_cluster_template.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db +copying build/lib/magnum/tests/unit/db/base.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/sqlalchemy +copying build/lib/magnum/tests/unit/db/sqlalchemy/test_types.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/sqlalchemy +copying build/lib/magnum/tests/unit/db/sqlalchemy/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/sqlalchemy +copying build/lib/magnum/tests/unit/db/test_federation.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db +copying build/lib/magnum/tests/unit/db/test_magnum_service.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db +copying build/lib/magnum/tests/unit/db/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db +copying build/lib/magnum/tests/unit/db/utils.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conf +copying build/lib/magnum/tests/unit/conf/test_conf.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conf +copying build/lib/magnum/tests/unit/conf/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conf +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/template +copying build/lib/magnum/tests/unit/template/test_template.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/template +copying build/lib/magnum/tests/unit/template/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/template +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd +copying build/lib/magnum/tests/unit/cmd/test_db_manage.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd +copying build/lib/magnum/tests/unit/cmd/test_status.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd +copying build/lib/magnum/tests/unit/cmd/test_api.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd +copying build/lib/magnum/tests/unit/cmd/test_conductor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd +copying build/lib/magnum/tests/unit/cmd/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd +copying build/lib/magnum/tests/unit/cmd/test_driver_manage.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd copying build/lib/magnum/tests/unit/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor -copying build/lib/magnum/tests/unit/conductor/test_rpcapi.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/tasks -copying build/lib/magnum/tests/unit/conductor/tasks/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/tasks -copying build/lib/magnum/tests/unit/conductor/tasks/test_heat_tasks.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/tasks -copying build/lib/magnum/tests/unit/conductor/test_k8s_api.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor -copying build/lib/magnum/tests/unit/conductor/test_utils.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor -copying build/lib/magnum/tests/unit/conductor/test_scale_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor -copying build/lib/magnum/tests/unit/conductor/test_monitors.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor -copying build/lib/magnum/tests/unit/conductor/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers -copying build/lib/magnum/tests/unit/conductor/handlers/test_ca_conductor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers -copying build/lib/magnum/tests/unit/conductor/handlers/test_cluster_conductor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common -copying build/lib/magnum/tests/unit/conductor/handlers/common/test_trust_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common -copying build/lib/magnum/tests/unit/conductor/handlers/common/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common -copying build/lib/magnum/tests/unit/conductor/handlers/common/test_cert_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common -copying build/lib/magnum/tests/unit/conductor/handlers/test_nodegroup_conductor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers -copying build/lib/magnum/tests/unit/conductor/handlers/test_conductor_listener.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers -copying build/lib/magnum/tests/unit/conductor/handlers/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers -copying build/lib/magnum/tests/unit/conductor/handlers/test_federation_conductor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers -copying build/lib/magnum/tests/unit/conductor/handlers/test_indirection_api.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers -copying build/lib/magnum/tests/unit/conductor/handlers/test_k8s_cluster_conductor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers +copying build/lib/magnum/tests/unit/drivers/test_heat_driver.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers copying build/lib/magnum/tests/unit/drivers/test_template_definition.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers copying build/lib/magnum/tests/unit/drivers/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers -copying build/lib/magnum/tests/unit/drivers/test_heat_driver.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common +copying build/lib/magnum/tests/unit/common/test_clients.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common +copying build/lib/magnum/tests/unit/common/test_neutron.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common +copying build/lib/magnum/tests/unit/common/test_urlfetch.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager +copying build/lib/magnum/tests/unit/common/cert_manager/test_x509keypair_cert_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager +copying build/lib/magnum/tests/unit/common/cert_manager/test_barbican.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager +copying build/lib/magnum/tests/unit/common/cert_manager/test_local.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager +copying build/lib/magnum/tests/unit/common/cert_manager/test_cert_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager +copying build/lib/magnum/tests/unit/common/cert_manager/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager +copying build/lib/magnum/tests/unit/common/test_context.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common +copying build/lib/magnum/tests/unit/common/test_keystone.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common +copying build/lib/magnum/tests/unit/common/test_short_id.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509 +copying build/lib/magnum/tests/unit/common/x509/test_operations.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509 +copying build/lib/magnum/tests/unit/common/x509/test_sign.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509 +copying build/lib/magnum/tests/unit/common/x509/test_validator.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509 +copying build/lib/magnum/tests/unit/common/x509/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509 +copying build/lib/magnum/tests/unit/common/test_rpc.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common +copying build/lib/magnum/tests/unit/common/test_policy.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common +copying build/lib/magnum/tests/unit/common/test_exception.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies +copying build/lib/magnum/tests/unit/common/policies/test_certificate_policy.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies +copying build/lib/magnum/tests/unit/common/policies/test_quota_policy.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies +copying build/lib/magnum/tests/unit/common/policies/test_magnum_service_policy.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies +copying build/lib/magnum/tests/unit/common/policies/base.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies +copying build/lib/magnum/tests/unit/common/policies/test_nodegroup_policy.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies +copying build/lib/magnum/tests/unit/common/policies/test_stats_policy.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies +copying build/lib/magnum/tests/unit/common/policies/test_cluster_template_policy.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies +copying build/lib/magnum/tests/unit/common/policies/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies +copying build/lib/magnum/tests/unit/common/policies/test_federation_policy.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies +copying build/lib/magnum/tests/unit/common/policies/test_cluster_policy.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies +copying build/lib/magnum/tests/unit/common/test_utils.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common +copying build/lib/magnum/tests/unit/common/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common +copying build/lib/magnum/tests/unit/common/test_profiler.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common +copying build/lib/magnum/tests/unit/common/test_service.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common +copying build/lib/magnum/tests/unit/common/test_octavia.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api +copying build/lib/magnum/tests/unit/api/test_attr_validator.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api +copying build/lib/magnum/tests/unit/api/test_validation.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api +copying build/lib/magnum/tests/unit/api/test_servicegroup.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api +copying build/lib/magnum/tests/unit/api/base.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api +copying build/lib/magnum/tests/unit/api/test_app.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api +copying build/lib/magnum/tests/unit/api/test_expose.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers -copying build/lib/magnum/tests/unit/api/controllers/auth-root-access.ini -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers copying build/lib/magnum/tests/unit/api/controllers/test_base.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers -copying build/lib/magnum/tests/unit/api/controllers/test_root.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers -copying build/lib/magnum/tests/unit/api/controllers/auth-v1-access.ini -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers -copying build/lib/magnum/tests/unit/api/controllers/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers -copying build/lib/magnum/tests/unit/api/controllers/noauth-paste.ini -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers copying build/lib/magnum/tests/unit/api/controllers/auth-paste.ini -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers +copying build/lib/magnum/tests/unit/api/controllers/test_root.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 copying build/lib/magnum/tests/unit/api/controllers/v1/test_nodegroup.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 -copying build/lib/magnum/tests/unit/api/controllers/v1/test_federation.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 -copying build/lib/magnum/tests/unit/api/controllers/v1/test_types.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 copying build/lib/magnum/tests/unit/api/controllers/v1/test_stats.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 -copying build/lib/magnum/tests/unit/api/controllers/v1/test_utils.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 copying build/lib/magnum/tests/unit/api/controllers/v1/test_certificate.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 copying build/lib/magnum/tests/unit/api/controllers/v1/test_cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 +copying build/lib/magnum/tests/unit/api/controllers/v1/test_quota.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 +copying build/lib/magnum/tests/unit/api/controllers/v1/test_cluster_template.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 +copying build/lib/magnum/tests/unit/api/controllers/v1/test_types.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 +copying build/lib/magnum/tests/unit/api/controllers/v1/test_federation.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 copying build/lib/magnum/tests/unit/api/controllers/v1/test_magnum_service.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 +copying build/lib/magnum/tests/unit/api/controllers/v1/test_utils.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 copying build/lib/magnum/tests/unit/api/controllers/v1/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 copying build/lib/magnum/tests/unit/api/controllers/v1/test_cluster_actions.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 -copying build/lib/magnum/tests/unit/api/controllers/v1/test_quota.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 -copying build/lib/magnum/tests/unit/api/controllers/v1/test_cluster_template.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 -copying build/lib/magnum/tests/unit/api/test_app.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api -copying build/lib/magnum/tests/unit/api/test_validation.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api -copying build/lib/magnum/tests/unit/api/test_expose.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api -copying build/lib/magnum/tests/unit/api/test_servicegroup.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api -copying build/lib/magnum/tests/unit/api/test_hooks.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api +copying build/lib/magnum/tests/unit/api/controllers/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers +copying build/lib/magnum/tests/unit/api/controllers/noauth-paste.ini -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers +copying build/lib/magnum/tests/unit/api/controllers/auth-v1-access.ini -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers +copying build/lib/magnum/tests/unit/api/controllers/auth-root-access.ini -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers copying build/lib/magnum/tests/unit/api/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api +copying build/lib/magnum/tests/unit/api/test_hooks.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api copying build/lib/magnum/tests/unit/api/utils.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api -copying build/lib/magnum/tests/unit/api/test_attr_validator.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api -copying build/lib/magnum/tests/unit/api/base.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db -copying build/lib/magnum/tests/unit/db/test_nodegroup.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db -copying build/lib/magnum/tests/unit/db/test_federation.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/sqlalchemy -copying build/lib/magnum/tests/unit/db/sqlalchemy/test_types.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/sqlalchemy -copying build/lib/magnum/tests/unit/db/sqlalchemy/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/sqlalchemy -copying build/lib/magnum/tests/unit/db/test_x509keypair.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db -copying build/lib/magnum/tests/unit/db/test_cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db -copying build/lib/magnum/tests/unit/db/test_magnum_service.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db -copying build/lib/magnum/tests/unit/db/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db -copying build/lib/magnum/tests/unit/db/utils.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db -copying build/lib/magnum/tests/unit/db/test_quota.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db -copying build/lib/magnum/tests/unit/db/test_cluster_template.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db -copying build/lib/magnum/tests/unit/db/base.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conf -copying build/lib/magnum/tests/unit/conf/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conf -copying build/lib/magnum/tests/unit/conf/test_conf.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conf -copying build/lib/magnum/tests/fakes.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional +copying build/lib/magnum/tests/functional/python_client_base.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_fcos copying build/lib/magnum/tests/functional/k8s_fcos/test_k8s_python_client.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_fcos copying build/lib/magnum/tests/functional/k8s_fcos/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_fcos +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s +copying build/lib/magnum/tests/functional/k8s/test_magnum_python_client.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s +copying build/lib/magnum/tests/functional/k8s/test_k8s_python_client.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s +copying build/lib/magnum/tests/functional/k8s/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_ironic +copying build/lib/magnum/tests/functional/k8s_ironic/test_k8s_python_client.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_ironic +copying build/lib/magnum/tests/functional/k8s_ironic/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_ironic +copying build/lib/magnum/tests/functional/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common copying build/lib/magnum/tests/functional/common/datagen.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common -copying build/lib/magnum/tests/functional/common/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common -copying build/lib/magnum/tests/functional/common/manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common -copying build/lib/magnum/tests/functional/common/utils.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common copying build/lib/magnum/tests/functional/common/config.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common +copying build/lib/magnum/tests/functional/common/base.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common copying build/lib/magnum/tests/functional/common/client.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common +copying build/lib/magnum/tests/functional/common/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common +copying build/lib/magnum/tests/functional/common/utils.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common +copying build/lib/magnum/tests/functional/common/manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common copying build/lib/magnum/tests/functional/common/models.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common -copying build/lib/magnum/tests/functional/common/base.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common -copying build/lib/magnum/tests/functional/python_client_base.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional -copying build/lib/magnum/tests/functional/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_ironic -copying build/lib/magnum/tests/functional/k8s_ironic/test_k8s_python_client.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_ironic -copying build/lib/magnum/tests/functional/k8s_ironic/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_ironic -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s -copying build/lib/magnum/tests/functional/k8s/test_magnum_python_client.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s -copying build/lib/magnum/tests/functional/k8s/test_k8s_python_client.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s -copying build/lib/magnum/tests/functional/k8s/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api -copying build/lib/magnum/tests/functional/api/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api +copying build/lib/magnum/tests/functional/api/base.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1 -copying build/lib/magnum/tests/functional/api/v1/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1 -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients -copying build/lib/magnum/tests/functional/api/v1/clients/magnum_service_client.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients -copying build/lib/magnum/tests/functional/api/v1/clients/cluster_template_client.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients -copying build/lib/magnum/tests/functional/api/v1/clients/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients -copying build/lib/magnum/tests/functional/api/v1/clients/cert_client.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients -copying build/lib/magnum/tests/functional/api/v1/clients/cluster_client.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models +copying build/lib/magnum/tests/functional/api/v1/models/clusterpatch_model.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models copying build/lib/magnum/tests/functional/api/v1/models/cluster_model.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models -copying build/lib/magnum/tests/functional/api/v1/models/cluster_templatepatch_model.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models copying build/lib/magnum/tests/functional/api/v1/models/cluster_template_model.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models -copying build/lib/magnum/tests/functional/api/v1/models/clusterpatch_model.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models -copying build/lib/magnum/tests/functional/api/v1/models/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models +copying build/lib/magnum/tests/functional/api/v1/models/magnum_service_model.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models copying build/lib/magnum/tests/functional/api/v1/models/cert_model.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models +copying build/lib/magnum/tests/functional/api/v1/models/cluster_templatepatch_model.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models +copying build/lib/magnum/tests/functional/api/v1/models/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models copying build/lib/magnum/tests/functional/api/v1/models/cluster_id_model.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models -copying build/lib/magnum/tests/functional/api/v1/models/magnum_service_model.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models -copying build/lib/magnum/tests/functional/api/base.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients +copying build/lib/magnum/tests/functional/api/v1/clients/cluster_client.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients +copying build/lib/magnum/tests/functional/api/v1/clients/cluster_template_client.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients +copying build/lib/magnum/tests/functional/api/v1/clients/cert_client.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients +copying build/lib/magnum/tests/functional/api/v1/clients/magnum_service_client.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients +copying build/lib/magnum/tests/functional/api/v1/clients/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients +copying build/lib/magnum/tests/functional/api/v1/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1 +copying build/lib/magnum/tests/functional/api/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/contrib +copying build/lib/magnum/tests/contrib/copy_instance_logs.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/contrib +copying build/lib/magnum/tests/contrib/post_test_hook.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/contrib +copying build/lib/magnum/tests/contrib/gate_hook.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/contrib copying build/lib/magnum/tests/base.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests copying build/lib/magnum/tests/fake_notifier.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests -copying build/lib/magnum/i18n.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers -copying build/lib/magnum/api/controllers/versions.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers -copying build/lib/magnum/api/controllers/root.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers -copying build/lib/magnum/api/controllers/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers -copying build/lib/magnum/api/controllers/link.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/collection.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/certificate.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/cluster_actions.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/stats.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/quota.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/magnum_services.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/federation.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/cluster_template.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/types.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/nodegroup.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/base.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware -copying build/lib/magnum/api/middleware/auth_token.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware -copying build/lib/magnum/api/middleware/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware -copying build/lib/magnum/api/middleware/parsable_error.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware -copying build/lib/magnum/api/http_error.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/app.wsgi -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/validation.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/servicegroup.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/hooks.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/attr_validator.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/versioned_method.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/utils.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/rest_api_version_history.rst -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/config.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/app.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/expose.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/tests/output_fixture.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests +copying build/lib/magnum/tests/policy_fixture.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests +copying build/lib/magnum/tests/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests +copying build/lib/magnum/tests/conf_fixture.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests +copying build/lib/magnum/tests/utils.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/releasenotes +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/releasenotes/notes +copying build/lib/magnum/tests/releasenotes/notes/separated-ca-certs-299c95eea1ffd9b1.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/releasenotes/notes creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db +copying build/lib/magnum/db/api.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db copying build/lib/magnum/db/migration.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy -copying build/lib/magnum/db/sqlalchemy/migration.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy +copying build/lib/magnum/db/sqlalchemy/api.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic -copying build/lib/magnum/db/sqlalchemy/alembic/script.py.mako -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic -copying build/lib/magnum/db/sqlalchemy/alembic/README -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/fb03fdef8919_rename_baymodel_to_clustertemplate.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/720f640f43d1_rename_bay_table_to_cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/b1f612248cab_add_floating_ip_enabled_column_to_.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/421102d1f2d2_create_x509keypair_table.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/7da8489d6a68_separated_ca_cert_for_etcd_and_front_.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/3a938526b35d_add_docker_volume_size.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/a0e7c8450ab1_add_labels_to_cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/d072f58ab240_modify_x509keypair_table.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/2b5f24dd95de_rename_service_port.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/59e7664a8ba1_add_container_status.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/c04e925e65c2_nodegroups_v2.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions copying build/lib/magnum/db/sqlalchemy/alembic/versions/bc46ba6cf949_add_keypair_to_cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions copying build/lib/magnum/db/sqlalchemy/alembic/versions/592131657ca1_add_coe_column_to_baymodel.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/e772b2598d9_add_container_command.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/6f21dc998bb_add_master_addresses_to_bay.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/2ace4006498_rename_bay_minions_address.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/2ae93c9c6191_add_public_column_to_baymodel_table.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/5793cd26898d_add_bay_status.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/3bea56f25597_multi_tenant.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/52bcaf58fecb_add_master_flavor_id_to_cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/87e62e3c7abc_add_hidden_to_cluster_template.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions copying build/lib/magnum/db/sqlalchemy/alembic/versions/417917e778f5_add_server_type_to_baymodel.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/9a1539f1cd2c_add_federation_table.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions copying build/lib/magnum/db/sqlalchemy/alembic/versions/461d798132c7_change_cluster_to_support_nodegroups.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/5793cd26898d_add_bay_status.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/c0f832afc4fd_add_driver_to_cluster_template.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/14328d6a57e3_add_master_count_to_bay.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/04c625aa95ba_change_storage_driver_to_string.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/2ace4006498_rename_bay_minions_address.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/6f21dc998bb_add_master_addresses_to_bay.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/53882537ac57_add_host_column_to_pod.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/859fb45df249_remove_replication_controller.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/a0e7c8450ab1_add_labels_to_cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/57fbdf2327a2_remove_baylock.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/cbbc65a86986_add_health_status_to_cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/fb03fdef8919_rename_baymodel_to_clustertemplate.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/b1f612248cab_add_floating_ip_enabled_column_to_.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions copying build/lib/magnum/db/sqlalchemy/alembic/versions/1481f5b560dd_add_labels_column_to_baymodel_table.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/456126c6c9e9_create_baylock_table.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/05d3e97de9ee_add_volume_driver.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/3a938526b35d_add_docker_volume_size.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/1f196a3dabae_remove_container.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/720f640f43d1_rename_bay_table_to_cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/d072f58ab240_modify_x509keypair_table.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/68ce16dfd341_add_master_lb_enabled_column_to_baymodel_table.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions copying build/lib/magnum/db/sqlalchemy/alembic/versions/bb42b7cad130_remove_node_object.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/47380964133d_add_network_subnet_fip_to_cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/049f81f6f584_remove_ssh_authorized_key_from_baymodel.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/1afee1db6cd0_add_master_flavor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/14328d6a57e3_add_master_count_to_bay.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/4e263f236334_add_registry_enabled.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/2581ebaf0cb2_initial_migration.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/e647f5931da8_add_insecure_registry_to_baymodel.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions copying build/lib/magnum/db/sqlalchemy/alembic/versions/27ad304554e2_adding_magnum_service_functionality.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/f1d8b0ab8b8d_added_observations_to_cluster_template.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/95096e2334ee_add_master_lb_enabled_to_cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/085e601a39f6_remove_service.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions copying build/lib/magnum/db/sqlalchemy/alembic/versions/ac92cbae311c_add_nodegoup_table.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/adc3b7679ae_add_registry_trust_id_to_bay.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions copying build/lib/magnum/db/sqlalchemy/alembic/versions/29affeaa2bc2_rename_bay_master_address.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/68ce16dfd341_add_master_lb_enabled_column_to_baymodel_table.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions copying build/lib/magnum/db/sqlalchemy/alembic/versions/041d9a0f1159_add_flavor_id_to_cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/95096e2334ee_add_master_lb_enabled_to_cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/156ceb17fb0a_add_bay_status_reason.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/35cff7c86221_add_private_network_to_baymodel.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/a1136d335540_add_docker_storage_driver_column.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/c04e925e65c2_nodegroups_v2.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/9a1539f1cd2c_add_federation_table.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/1d045384b966_add_insecure_baymodel_attr.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/47380964133d_add_network_subnet_fip_to_cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/e0653b2d5271_add_fixed_subnet_column_to_baymodel_table.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions copying build/lib/magnum/db/sqlalchemy/alembic/versions/33ef79969018_add_memory_to_container.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/fcb4efee8f8b_add_version_info_to_bay.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/5d4caa6e0a42_create_trustee_for_each_bay.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/1afee1db6cd0_add_master_flavor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions copying build/lib/magnum/db/sqlalchemy/alembic/versions/4956f03cabad_add_cluster_distro.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/cbbc65a86986_add_health_status_to_cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/085e601a39f6_remove_service.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/e647f5931da8_add_insecure_registry_to_baymodel.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/40f325033343_add_bay_create_timeout_to_bay.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/52bcaf58fecb_add_master_flavor_id_to_cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/2d1354bbf76e_ssh_authorized_key.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/1f196a3dabae_remove_container.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/7da8489d6a68_separated_ca_cert_for_etcd_and_front_.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/2d8657c0cdc_add_bay_uuid.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/5518af8dbc21_rename_cert_uuid.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions copying build/lib/magnum/db/sqlalchemy/alembic/versions/ef08a5e057bd_remove_pod.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/2d1354bbf76e_ssh_authorized_key.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/40f325033343_add_bay_create_timeout_to_bay.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/156ceb17fb0a_add_bay_status_reason.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions copying build/lib/magnum/db/sqlalchemy/alembic/versions/3be65537a94a_add_network_driver_baymodel_column.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/ee92b41b8809_create_quotas_table.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/5518af8dbc21_rename_cert_uuid.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/57fbdf2327a2_remove_baylock.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/2d8657c0cdc_add_bay_uuid.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/87e62e3c7abc_add_hidden_to_cluster_template.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/1c1ff5e56048_rename_container_image_id.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/049f81f6f584_remove_ssh_authorized_key_from_baymodel.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/421102d1f2d2_create_x509keypair_table.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/e772b2598d9_add_container_command.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/5977879072a7_add_env_to_container.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/4e263f236334_add_registry_enabled.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions copying build/lib/magnum/db/sqlalchemy/alembic/versions/6f21dc920bb_add_cert_uuid_to_bay.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/5d4caa6e0a42_create_trustee_for_each_bay.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/4ea34a59a64c_add_discovery_url_to_bay.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/35cff7c86221_add_private_network_to_baymodel.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions copying build/lib/magnum/db/sqlalchemy/alembic/versions/966a99e70ff_add_proxy.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/859fb45df249_remove_replication_controller.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/2ae93c9c6191_add_public_column_to_baymodel_table.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/a1136d335540_add_docker_storage_driver_column.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/456126c6c9e9_create_baylock_table.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions copying build/lib/magnum/db/sqlalchemy/alembic/versions/aa0cc27839af_add_docker_volume_size_to_cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/f1d8b0ab8b8d_added_observations_to_cluster_template.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/c0f832afc4fd_add_driver_to_cluster_template.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/5977879072a7_add_env_to_container.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/3bea56f25597_multi_tenant.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/05d3e97de9ee_add_volume_driver.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/e0653b2d5271_add_fixed_subnet_column_to_baymodel_table.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/2b5f24dd95de_rename_service_port.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/3b6c4c42adb4_add_unique_constraints.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/2581ebaf0cb2_initial_migration.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/59e7664a8ba1_add_container_status.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/04c625aa95ba_change_storage_driver_to_string.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/4ea34a59a64c_add_discovery_url_to_bay.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/53882537ac57_add_host_column_to_pod.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/fcb4efee8f8b_add_version_info_to_bay.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions copying build/lib/magnum/db/sqlalchemy/alembic/versions/5ad410481b88_rename_insecure.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/1c1ff5e56048_rename_container_image_id.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/1d045384b966_add_insecure_baymodel_attr.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/adc3b7679ae_add_registry_trust_id_to_bay.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/ee92b41b8809_create_quotas_table.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/3b6c4c42adb4_add_unique_constraints.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/script.py.mako -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic +copying build/lib/magnum/db/sqlalchemy/alembic/README -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic copying build/lib/magnum/db/sqlalchemy/alembic/env.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic -copying build/lib/magnum/db/sqlalchemy/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy +copying build/lib/magnum/db/sqlalchemy/migration.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy copying build/lib/magnum/db/sqlalchemy/alembic.ini -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy +copying build/lib/magnum/db/sqlalchemy/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy copying build/lib/magnum/db/sqlalchemy/models.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy -copying build/lib/magnum/db/sqlalchemy/api.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy copying build/lib/magnum/db/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db -copying build/lib/magnum/db/api.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking -copying build/lib/magnum/hacking/checks.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking -copying build/lib/magnum/hacking/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/certificates.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/rpc.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/heat.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/barbican.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/nova.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/conductor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/api.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/cinder.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/drivers.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf copying build/lib/magnum/conf/database.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/cluster_templates.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf copying build/lib/magnum/conf/opts.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/glance.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/x509.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf copying build/lib/magnum/conf/cluster_heat.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/trust.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/paths.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/nova.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/magnum_client.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/docker_registry.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/heat.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf copying build/lib/magnum/conf/octavia.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/neutron.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf copying build/lib/magnum/conf/profiler.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/drivers.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf copying build/lib/magnum/conf/kubernetes.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/neutron.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/keystone.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/docker.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/rpc.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/certificates.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/services.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf copying build/lib/magnum/conf/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/conductor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/paths.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/trust.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf copying build/lib/magnum/conf/quota.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/docker.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/docker_registry.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/glance.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/magnum_client.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/x509.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf copying build/lib/magnum/conf/utils.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/keystone.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/cinder.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/services.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/cluster_templates.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/api.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/version.py to version.cpython-312.pyc +copying build/lib/magnum/conf/barbican.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/version.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd +copying build/lib/magnum/cmd/conductor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd +copying build/lib/magnum/cmd/api.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd +copying build/lib/magnum/cmd/driver_manage.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd +copying build/lib/magnum/cmd/status.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd +copying build/lib/magnum/cmd/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd +copying build/lib/magnum/cmd/db_manage.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking +copying build/lib/magnum/hacking/checks.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking +copying build/lib/magnum/hacking/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking +copying build/lib/magnum/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1 +copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/driver.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1 +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/templates +copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates/kubeminion.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/templates +copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates/COPYING -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/templates +copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates/user_data.json -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/templates +copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates/kubemaster.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/templates +copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates/fcct-config.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/templates +copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates/kubecluster.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/templates +copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/template_def.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1 +copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/version.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1 +copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1 +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat +copying build/lib/magnum/drivers/heat/driver.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat +copying build/lib/magnum/drivers/heat/k8s_fedora_template_def.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat +copying build/lib/magnum/drivers/heat/k8s_coreos_template_def.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat +copying build/lib/magnum/drivers/heat/template_def.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat +copying build/lib/magnum/drivers/heat/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat +copying build/lib/magnum/drivers/heat/k8s_template_def.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat +copying build/lib/magnum/drivers/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common +copying build/lib/magnum/drivers/common/driver.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates +copying build/lib/magnum/drivers/common/templates/lb_api.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/helm +copying build/lib/magnum/drivers/common/templates/kubernetes/helm/prometheus-adapter.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/helm +copying build/lib/magnum/drivers/common/templates/kubernetes/helm/metrics-server.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/helm +copying build/lib/magnum/drivers/common/templates/kubernetes/helm/ingress-nginx.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/helm +copying build/lib/magnum/drivers/common/templates/kubernetes/helm/prometheus-operator.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/helm +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-ingress-controller.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/kube-apiserver-to-kubelet-role.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/install-helm-modules.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/upgrade-kubernetes.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-services-master.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/kube-dashboard-service.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-prometheus-monitoring.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/install-cri.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/install-clients.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-cert-api-manager.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/make-cert-client.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/configure-kubernetes-minion.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/rotate-kubernetes-ca-certs-master.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/configure-etcd.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/configure-kubernetes-master.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-ingress-octavia.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-services-minion.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/write-heat-params-master.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-ingress-traefik.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/add-proxy.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/calico-service-v3-21-x.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-auto-scaling.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/start-container-agent.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/rotate-kubernetes-ca-certs-worker.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/install-helm.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-cinder-csi.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/disable-selinux.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/flannel-service.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/make-cert.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/calico-service-v3-26-x.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-keystone-auth.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/write-heat-params.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/wc-notify-master.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-auto-healing.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/core-dns-service.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/write-kube-os-config.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments +copying build/lib/magnum/drivers/common/templates/fragments/network_switcher_private.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments +copying build/lib/magnum/drivers/common/templates/fragments/floating_ip_address_switcher_private.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments +copying build/lib/magnum/drivers/common/templates/fragments/enable-docker-registry.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments +copying build/lib/magnum/drivers/common/templates/fragments/atomic-install-openstack-ca.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments +copying build/lib/magnum/drivers/common/templates/fragments/api_gateway_switcher_pool.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments +copying build/lib/magnum/drivers/common/templates/fragments/configure-docker-registry.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments +copying build/lib/magnum/drivers/common/templates/fragments/network_switcher_existing.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments +copying build/lib/magnum/drivers/common/templates/fragments/configure_docker_storage_driver_fedora_coreos.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments +copying build/lib/magnum/drivers/common/templates/fragments/api_gateway_switcher_master.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments +copying build/lib/magnum/drivers/common/templates/fragments/configure-docker-storage.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments +copying build/lib/magnum/drivers/common/templates/fragments/floating_ip_address_switcher_public.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments +copying build/lib/magnum/drivers/common/templates/environments/with_master_lb.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments +copying build/lib/magnum/drivers/common/templates/environments/no_master_lb.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments +copying build/lib/magnum/drivers/common/templates/environments/disable_floating_ip.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments +copying build/lib/magnum/drivers/common/templates/environments/no_etcd_volume.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments +copying build/lib/magnum/drivers/common/templates/environments/no_volume.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments +copying build/lib/magnum/drivers/common/templates/environments/with_private_network.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments +copying build/lib/magnum/drivers/common/templates/environments/enable_floating_ip.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments +copying build/lib/magnum/drivers/common/templates/environments/no_private_network.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments +copying build/lib/magnum/drivers/common/templates/environments/enable_lb_floating_ip.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments +copying build/lib/magnum/drivers/common/templates/environments/with_master_lb_octavia.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments +copying build/lib/magnum/drivers/common/templates/environments/with_volume.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments +copying build/lib/magnum/drivers/common/templates/environments/disable_lb_floating_ip.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments +copying build/lib/magnum/drivers/common/templates/environments/with_etcd_volume.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments +copying build/lib/magnum/drivers/common/templates/lb_etcd.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates +copying build/lib/magnum/drivers/common/templates/network.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates +copying build/lib/magnum/drivers/common/k8s_scale_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common +copying build/lib/magnum/drivers/common/k8s_monitor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common +copying build/lib/magnum/drivers/common/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/cinder.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/policy.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/service.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/context.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/nova.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/exception.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager +copying build/lib/magnum/common/cert_manager/barbican_cert_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager +copying build/lib/magnum/common/cert_manager/x509keypair_cert_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager +copying build/lib/magnum/common/cert_manager/cert_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager +copying build/lib/magnum/common/cert_manager/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager +copying build/lib/magnum/common/cert_manager/local_cert_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager +copying build/lib/magnum/common/rpc_service.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/octavia.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/neutron.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/config.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/urlfetch.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/profiler.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509 +copying build/lib/magnum/common/x509/operations.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509 +copying build/lib/magnum/common/x509/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509 +copying build/lib/magnum/common/x509/extensions.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509 +copying build/lib/magnum/common/x509/validator.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509 +copying build/lib/magnum/common/keystone.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/rpc.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/magnum_service.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/cluster_template.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/stats.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/nodegroup.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/certificate.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/base.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/quota.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/federation.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/name_generator.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/short_id.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/utils.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/clients.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/app.wsgi -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/attr_validator.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/servicegroup.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/rest_api_version_history.rst -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware +copying build/lib/magnum/api/middleware/parsable_error.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware +copying build/lib/magnum/api/middleware/auth_token.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware +copying build/lib/magnum/api/middleware/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware +copying build/lib/magnum/api/validation.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/versioned_method.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/config.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/hooks.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/http_error.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers +copying build/lib/magnum/api/controllers/versions.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers +copying build/lib/magnum/api/controllers/root.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers +copying build/lib/magnum/api/controllers/base.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers +copying build/lib/magnum/api/controllers/link.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/cluster_template.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/stats.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/magnum_services.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/nodegroup.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/certificate.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/cluster_actions.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/collection.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/quota.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/types.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/federation.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers +copying build/lib/magnum/api/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/utils.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/expose.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/app.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/k8s_api.py to k8s_api.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/api.py to api.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/monitors.py to monitors.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/scale_manager.py to scale_manager.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks/heat_tasks.py to heat_tasks.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/indirection_api.py to indirection_api.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/ca_conductor.py to ca_conductor.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/conductor_listener.py to conductor_listener.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/cluster_conductor.py to cluster_conductor.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/nodegroup_conductor.py to nodegroup_conductor.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common/cert_manager.py to cert_manager.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common/trust_manager.py to trust_manager.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/federation_conductor.py to federation_conductor.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/utils.py to utils.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/servicegroup/magnum_service_periodic.py to magnum_service_periodic.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/servicegroup/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/rpc.py to rpc.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/clients.py to clients.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/service.py to service.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/nova.py to nova.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/context.py to context.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/exception.py to exception.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/octavia.py to octavia.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/certificate.py to certificate.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/stats.py to stats.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/cluster.py to cluster.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/quota.py to quota.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/federation.py to federation.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/magnum_service.py to magnum_service.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/cluster_template.py to cluster_template.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/nodegroup.py to nodegroup.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/base.py to base.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/profiler.py to profiler.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/neutron.py to neutron.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/short_id.py to short_id.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/utils.py to utils.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/config.py to config.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/barbican_cert_manager.py to barbican_cert_manager.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/x509keypair_cert_manager.py to x509keypair_cert_manager.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/cert_manager.py to cert_manager.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/local_cert_manager.py to local_cert_manager.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/urlfetch.py to urlfetch.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/name_generator.py to name_generator.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/keystone.py to keystone.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cinder.py to cinder.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policy.py to policy.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509/extensions.py to extensions.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509/validator.py to validator.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509/operations.py to operations.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/rpc_service.py to rpc_service.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/db_manage.py to db_manage.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/driver_manage.py to driver_manage.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/conductor.py to conductor.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/status.py to status.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/api.py to api.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/fields.py to fields.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/magnum_service.py to magnum_service.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/cluster_template.py to cluster_template.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/stats.py to stats.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/x509keypair.py to x509keypair.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/cluster.py to cluster.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/fields.py to fields.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/nodegroup.py to nodegroup.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/certificate.py to certificate.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/base.py to base.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/stats.py to stats.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/cluster.py to cluster.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/quota.py to quota.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/federation.py to federation.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/magnum_service.py to magnum_service.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/cluster_template.py to cluster_template.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/nodegroup.py to nodegroup.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/base.py to base.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/i18n.py to i18n.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/service/periodic.py to periodic.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/service/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/k8s_api.py to k8s_api.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks/heat_tasks.py to heat_tasks.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/scale_manager.py to scale_manager.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/monitors.py to monitors.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/utils.py to utils.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/api.py to api.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common/trust_manager.py to trust_manager.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common/cert_manager.py to cert_manager.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/cluster_conductor.py to cluster_conductor.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/conductor_listener.py to conductor_listener.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/ca_conductor.py to ca_conductor.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/nodegroup_conductor.py to nodegroup_conductor.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/federation_conductor.py to federation_conductor.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/indirection_api.py to indirection_api.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/driver.py to driver.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/k8s_scale_manager.py to k8s_scale_manager.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/k8s_monitor.py to k8s_monitor.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/k8s_coreos_template_def.py to k8s_coreos_template_def.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/driver.py to driver.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/template_def.py to template_def.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/k8s_fedora_template_def.py to k8s_fedora_template_def.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/k8s_template_def.py to k8s_template_def.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/version.py to version.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/driver.py to driver.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/template_def.py to template_def.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/conf_fixture.py to conf_fixture.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/output_fixture.py to output_fixture.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/policy_fixture.py to policy_fixture.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/utils.py to utils.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/fakes.py to fakes.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/test_hacking.py to test_hacking.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_k8s_api.py to test_k8s_api.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/tasks/test_heat_tasks.py to test_heat_tasks.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/tasks/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_scale_manager.py to test_scale_manager.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_conductor_listener.py to test_conductor_listener.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_cluster_conductor.py to test_cluster_conductor.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_indirection_api.py to test_indirection_api.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_federation_conductor.py to test_federation_conductor.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_ca_conductor.py to test_ca_conductor.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_nodegroup_conductor.py to test_nodegroup_conductor.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common/test_trust_manager.py to test_trust_manager.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common/test_cert_manager.py to test_cert_manager.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_k8s_cluster_conductor.py to test_k8s_cluster_conductor.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_rpcapi.py to test_rpcapi.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_monitors.py to test_monitors.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_utils.py to test_utils.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/__init__.py to __init__.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/servicegroup/test_magnum_service.py to test_magnum_service.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/servicegroup/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_clients.py to test_clients.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_keystone.py to test_keystone.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_policy.py to test_policy.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_context.py to test_context.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_neutron.py to test_neutron.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_utils.py to test_utils.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_rpc.py to test_rpc.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_stats_policy.py to test_stats_policy.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_quota_policy.py to test_quota_policy.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_certificate_policy.py to test_certificate_policy.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_nodegroup_policy.py to test_nodegroup_policy.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_cluster_policy.py to test_cluster_policy.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_magnum_service_policy.py to test_magnum_service_policy.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_federation_policy.py to test_federation_policy.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_cluster_template_policy.py to test_cluster_template_policy.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/base.py to base.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_urlfetch.py to test_urlfetch.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_short_id.py to test_short_id.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_profiler.py to test_profiler.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_service.py to test_service.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/test_local.py to test_local.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/test_x509keypair_cert_manager.py to test_x509keypair_cert_manager.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/test_cert_manager.py to test_cert_manager.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/test_barbican.py to test_barbican.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_exception.py to test_exception.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_octavia.py to test_octavia.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509/test_operations.py to test_operations.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509/test_validator.py to test_validator.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509/test_sign.py to test_sign.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/template/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/template/test_template.py to test_template.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_db_manage.py to test_db_manage.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_status.py to test_status.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_conductor.py to test_conductor.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_api.py to test_api.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_driver_manage.py to test_driver_manage.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_nodegroup.py to test_nodegroup.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_federation.py to test_federation.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_fields.py to test_fields.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_objects.py to test_objects.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_x509keypair.py to test_x509keypair.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_cluster.py to test_cluster.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_cluster_template.py to test_cluster_template.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_federation.py to test_federation.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_magnum_service.py to test_magnum_service.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_fields.py to test_fields.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/utils.py to utils.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_cluster_template.py to test_cluster_template.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/service/__init__.py to __init__.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/service/test_periodic.py to test_periodic.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/test_hacking.py to test_hacking.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/service/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_nodegroup.py to test_nodegroup.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_x509keypair.py to test_x509keypair.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_cluster.py to test_cluster.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_quota.py to test_quota.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_cluster_template.py to test_cluster_template.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/base.py to base.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/sqlalchemy/test_types.py to test_types.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/sqlalchemy/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_federation.py to test_federation.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_magnum_service.py to test_magnum_service.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/utils.py to utils.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conf/test_conf.py to test_conf.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conf/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/template/test_template.py to test_template.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/template/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_db_manage.py to test_db_manage.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_status.py to test_status.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_api.py to test_api.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_conductor.py to test_conductor.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_driver_manage.py to test_driver_manage.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_rpcapi.py to test_rpcapi.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/tasks/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/tasks/test_heat_tasks.py to test_heat_tasks.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_k8s_api.py to test_k8s_api.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_utils.py to test_utils.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_scale_manager.py to test_scale_manager.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_monitors.py to test_monitors.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_ca_conductor.py to test_ca_conductor.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_cluster_conductor.py to test_cluster_conductor.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common/test_trust_manager.py to test_trust_manager.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common/test_cert_manager.py to test_cert_manager.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_nodegroup_conductor.py to test_nodegroup_conductor.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_conductor_listener.py to test_conductor_listener.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_federation_conductor.py to test_federation_conductor.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_indirection_api.py to test_indirection_api.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_k8s_cluster_conductor.py to test_k8s_cluster_conductor.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers/test_heat_driver.py to test_heat_driver.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers/test_template_definition.py to test_template_definition.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers/test_heat_driver.py to test_heat_driver.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_clients.py to test_clients.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_neutron.py to test_neutron.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_urlfetch.py to test_urlfetch.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/test_x509keypair_cert_manager.py to test_x509keypair_cert_manager.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/test_barbican.py to test_barbican.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/test_local.py to test_local.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/test_cert_manager.py to test_cert_manager.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_context.py to test_context.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_keystone.py to test_keystone.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_short_id.py to test_short_id.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509/test_operations.py to test_operations.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509/test_sign.py to test_sign.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509/test_validator.py to test_validator.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_rpc.py to test_rpc.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_policy.py to test_policy.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_exception.py to test_exception.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_certificate_policy.py to test_certificate_policy.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_quota_policy.py to test_quota_policy.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_magnum_service_policy.py to test_magnum_service_policy.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/base.py to base.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_nodegroup_policy.py to test_nodegroup_policy.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_stats_policy.py to test_stats_policy.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_cluster_template_policy.py to test_cluster_template_policy.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_federation_policy.py to test_federation_policy.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_cluster_policy.py to test_cluster_policy.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_utils.py to test_utils.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_profiler.py to test_profiler.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_service.py to test_service.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_octavia.py to test_octavia.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_attr_validator.py to test_attr_validator.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_validation.py to test_validation.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_servicegroup.py to test_servicegroup.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/base.py to base.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_app.py to test_app.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_expose.py to test_expose.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/test_base.py to test_base.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/test_root.py to test_root.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/__init__.py to __init__.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_nodegroup.py to test_nodegroup.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_federation.py to test_federation.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_types.py to test_types.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_stats.py to test_stats.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_utils.py to test_utils.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_certificate.py to test_certificate.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_cluster.py to test_cluster.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_quota.py to test_quota.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_cluster_template.py to test_cluster_template.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_types.py to test_types.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_federation.py to test_federation.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_magnum_service.py to test_magnum_service.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_utils.py to test_utils.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/__init__.py to __init__.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_cluster_actions.py to test_cluster_actions.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_quota.py to test_quota.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_cluster_template.py to test_cluster_template.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_app.py to test_app.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_validation.py to test_validation.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_expose.py to test_expose.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_servicegroup.py to test_servicegroup.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_hooks.py to test_hooks.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/__init__.py to __init__.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_hooks.py to test_hooks.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/utils.py to utils.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_attr_validator.py to test_attr_validator.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/base.py to base.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_nodegroup.py to test_nodegroup.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_federation.py to test_federation.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/sqlalchemy/test_types.py to test_types.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/sqlalchemy/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_x509keypair.py to test_x509keypair.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_cluster.py to test_cluster.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_magnum_service.py to test_magnum_service.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/utils.py to utils.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_quota.py to test_quota.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_cluster_template.py to test_cluster_template.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/base.py to base.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conf/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conf/test_conf.py to test_conf.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/fakes.py to fakes.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/python_client_base.py to python_client_base.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_fcos/test_k8s_python_client.py to test_k8s_python_client.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_fcos/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s/test_magnum_python_client.py to test_magnum_python_client.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s/test_k8s_python_client.py to test_k8s_python_client.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_ironic/test_k8s_python_client.py to test_k8s_python_client.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_ironic/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/__init__.py to __init__.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/datagen.py to datagen.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/manager.py to manager.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/utils.py to utils.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/config.py to config.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/base.py to base.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/client.py to client.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/utils.py to utils.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/manager.py to manager.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/models.py to models.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/base.py to base.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/python_client_base.py to python_client_base.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_ironic/test_k8s_python_client.py to test_k8s_python_client.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_ironic/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s/test_magnum_python_client.py to test_magnum_python_client.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s/test_k8s_python_client.py to test_k8s_python_client.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/magnum_service_client.py to magnum_service_client.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/cluster_template_client.py to cluster_template_client.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/cert_client.py to cert_client.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/cluster_client.py to cluster_client.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/base.py to base.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/clusterpatch_model.py to clusterpatch_model.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/cluster_model.py to cluster_model.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/cluster_templatepatch_model.py to cluster_templatepatch_model.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/cluster_template_model.py to cluster_template_model.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/clusterpatch_model.py to clusterpatch_model.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/magnum_service_model.py to magnum_service_model.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/cert_model.py to cert_model.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/cluster_templatepatch_model.py to cluster_templatepatch_model.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/__init__.py to __init__.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/cluster_id_model.py to cluster_id_model.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/magnum_service_model.py to magnum_service_model.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/base.py to base.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/cluster_client.py to cluster_client.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/cluster_template_client.py to cluster_template_client.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/cert_client.py to cert_client.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/magnum_service_client.py to magnum_service_client.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/__init__.py to __init__.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/base.py to base.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/fake_notifier.py to fake_notifier.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/i18n.py to i18n.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/versions.py to versions.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/root.py to root.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/link.py to link.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/collection.py to collection.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/certificate.py to certificate.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/cluster_actions.py to cluster_actions.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/stats.py to stats.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/cluster.py to cluster.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/quota.py to quota.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/magnum_services.py to magnum_services.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/federation.py to federation.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/cluster_template.py to cluster_template.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/types.py to types.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/nodegroup.py to nodegroup.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/base.py to base.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware/auth_token.py to auth_token.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware/parsable_error.py to parsable_error.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/http_error.py to http_error.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/validation.py to validation.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/servicegroup.py to servicegroup.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/hooks.py to hooks.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/attr_validator.py to attr_validator.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/versioned_method.py to versioned_method.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/utils.py to utils.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/config.py to config.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/app.py to app.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/expose.py to expose.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/output_fixture.py to output_fixture.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/policy_fixture.py to policy_fixture.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/conf_fixture.py to conf_fixture.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/utils.py to utils.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/api.py to api.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/migration.py to migration.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/migration.py to migration.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/fb03fdef8919_rename_baymodel_to_clustertemplate.py to fb03fdef8919_rename_baymodel_to_clustertemplate.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/720f640f43d1_rename_bay_table_to_cluster.py to 720f640f43d1_rename_bay_table_to_cluster.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/b1f612248cab_add_floating_ip_enabled_column_to_.py to b1f612248cab_add_floating_ip_enabled_column_to_.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/421102d1f2d2_create_x509keypair_table.py to 421102d1f2d2_create_x509keypair_table.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/7da8489d6a68_separated_ca_cert_for_etcd_and_front_.py to 7da8489d6a68_separated_ca_cert_for_etcd_and_front_.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/3a938526b35d_add_docker_volume_size.py to 3a938526b35d_add_docker_volume_size.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/a0e7c8450ab1_add_labels_to_cluster.py to a0e7c8450ab1_add_labels_to_cluster.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/d072f58ab240_modify_x509keypair_table.py to d072f58ab240_modify_x509keypair_table.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/api.py to api.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/2b5f24dd95de_rename_service_port.py to 2b5f24dd95de_rename_service_port.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/59e7664a8ba1_add_container_status.py to 59e7664a8ba1_add_container_status.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/c04e925e65c2_nodegroups_v2.py to c04e925e65c2_nodegroups_v2.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/bc46ba6cf949_add_keypair_to_cluster.py to bc46ba6cf949_add_keypair_to_cluster.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/592131657ca1_add_coe_column_to_baymodel.py to 592131657ca1_add_coe_column_to_baymodel.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/e772b2598d9_add_container_command.py to e772b2598d9_add_container_command.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/6f21dc998bb_add_master_addresses_to_bay.py to 6f21dc998bb_add_master_addresses_to_bay.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/2ace4006498_rename_bay_minions_address.py to 2ace4006498_rename_bay_minions_address.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/2ae93c9c6191_add_public_column_to_baymodel_table.py to 2ae93c9c6191_add_public_column_to_baymodel_table.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/5793cd26898d_add_bay_status.py to 5793cd26898d_add_bay_status.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/3bea56f25597_multi_tenant.py to 3bea56f25597_multi_tenant.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/52bcaf58fecb_add_master_flavor_id_to_cluster.py to 52bcaf58fecb_add_master_flavor_id_to_cluster.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/87e62e3c7abc_add_hidden_to_cluster_template.py to 87e62e3c7abc_add_hidden_to_cluster_template.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/417917e778f5_add_server_type_to_baymodel.py to 417917e778f5_add_server_type_to_baymodel.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/9a1539f1cd2c_add_federation_table.py to 9a1539f1cd2c_add_federation_table.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/461d798132c7_change_cluster_to_support_nodegroups.py to 461d798132c7_change_cluster_to_support_nodegroups.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/5793cd26898d_add_bay_status.py to 5793cd26898d_add_bay_status.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/c0f832afc4fd_add_driver_to_cluster_template.py to c0f832afc4fd_add_driver_to_cluster_template.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/14328d6a57e3_add_master_count_to_bay.py to 14328d6a57e3_add_master_count_to_bay.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/04c625aa95ba_change_storage_driver_to_string.py to 04c625aa95ba_change_storage_driver_to_string.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/2ace4006498_rename_bay_minions_address.py to 2ace4006498_rename_bay_minions_address.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/6f21dc998bb_add_master_addresses_to_bay.py to 6f21dc998bb_add_master_addresses_to_bay.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/53882537ac57_add_host_column_to_pod.py to 53882537ac57_add_host_column_to_pod.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/859fb45df249_remove_replication_controller.py to 859fb45df249_remove_replication_controller.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/a0e7c8450ab1_add_labels_to_cluster.py to a0e7c8450ab1_add_labels_to_cluster.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/57fbdf2327a2_remove_baylock.py to 57fbdf2327a2_remove_baylock.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/cbbc65a86986_add_health_status_to_cluster.py to cbbc65a86986_add_health_status_to_cluster.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/fb03fdef8919_rename_baymodel_to_clustertemplate.py to fb03fdef8919_rename_baymodel_to_clustertemplate.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/b1f612248cab_add_floating_ip_enabled_column_to_.py to b1f612248cab_add_floating_ip_enabled_column_to_.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/1481f5b560dd_add_labels_column_to_baymodel_table.py to 1481f5b560dd_add_labels_column_to_baymodel_table.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/456126c6c9e9_create_baylock_table.py to 456126c6c9e9_create_baylock_table.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/05d3e97de9ee_add_volume_driver.py to 05d3e97de9ee_add_volume_driver.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/3a938526b35d_add_docker_volume_size.py to 3a938526b35d_add_docker_volume_size.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/1f196a3dabae_remove_container.py to 1f196a3dabae_remove_container.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/720f640f43d1_rename_bay_table_to_cluster.py to 720f640f43d1_rename_bay_table_to_cluster.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/d072f58ab240_modify_x509keypair_table.py to d072f58ab240_modify_x509keypair_table.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/68ce16dfd341_add_master_lb_enabled_column_to_baymodel_table.py to 68ce16dfd341_add_master_lb_enabled_column_to_baymodel_table.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/bb42b7cad130_remove_node_object.py to bb42b7cad130_remove_node_object.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/47380964133d_add_network_subnet_fip_to_cluster.py to 47380964133d_add_network_subnet_fip_to_cluster.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/049f81f6f584_remove_ssh_authorized_key_from_baymodel.py to 049f81f6f584_remove_ssh_authorized_key_from_baymodel.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/1afee1db6cd0_add_master_flavor.py to 1afee1db6cd0_add_master_flavor.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/14328d6a57e3_add_master_count_to_bay.py to 14328d6a57e3_add_master_count_to_bay.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/4e263f236334_add_registry_enabled.py to 4e263f236334_add_registry_enabled.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/2581ebaf0cb2_initial_migration.py to 2581ebaf0cb2_initial_migration.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/e647f5931da8_add_insecure_registry_to_baymodel.py to e647f5931da8_add_insecure_registry_to_baymodel.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/27ad304554e2_adding_magnum_service_functionality.py to 27ad304554e2_adding_magnum_service_functionality.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/f1d8b0ab8b8d_added_observations_to_cluster_template.py to f1d8b0ab8b8d_added_observations_to_cluster_template.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/95096e2334ee_add_master_lb_enabled_to_cluster.py to 95096e2334ee_add_master_lb_enabled_to_cluster.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/085e601a39f6_remove_service.py to 085e601a39f6_remove_service.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/ac92cbae311c_add_nodegoup_table.py to ac92cbae311c_add_nodegoup_table.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/adc3b7679ae_add_registry_trust_id_to_bay.py to adc3b7679ae_add_registry_trust_id_to_bay.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/29affeaa2bc2_rename_bay_master_address.py to 29affeaa2bc2_rename_bay_master_address.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/68ce16dfd341_add_master_lb_enabled_column_to_baymodel_table.py to 68ce16dfd341_add_master_lb_enabled_column_to_baymodel_table.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/041d9a0f1159_add_flavor_id_to_cluster.py to 041d9a0f1159_add_flavor_id_to_cluster.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/95096e2334ee_add_master_lb_enabled_to_cluster.py to 95096e2334ee_add_master_lb_enabled_to_cluster.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/156ceb17fb0a_add_bay_status_reason.py to 156ceb17fb0a_add_bay_status_reason.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/35cff7c86221_add_private_network_to_baymodel.py to 35cff7c86221_add_private_network_to_baymodel.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/a1136d335540_add_docker_storage_driver_column.py to a1136d335540_add_docker_storage_driver_column.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/c04e925e65c2_nodegroups_v2.py to c04e925e65c2_nodegroups_v2.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/9a1539f1cd2c_add_federation_table.py to 9a1539f1cd2c_add_federation_table.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/1d045384b966_add_insecure_baymodel_attr.py to 1d045384b966_add_insecure_baymodel_attr.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/47380964133d_add_network_subnet_fip_to_cluster.py to 47380964133d_add_network_subnet_fip_to_cluster.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/e0653b2d5271_add_fixed_subnet_column_to_baymodel_table.py to e0653b2d5271_add_fixed_subnet_column_to_baymodel_table.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/33ef79969018_add_memory_to_container.py to 33ef79969018_add_memory_to_container.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/fcb4efee8f8b_add_version_info_to_bay.py to fcb4efee8f8b_add_version_info_to_bay.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/5d4caa6e0a42_create_trustee_for_each_bay.py to 5d4caa6e0a42_create_trustee_for_each_bay.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/1afee1db6cd0_add_master_flavor.py to 1afee1db6cd0_add_master_flavor.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/4956f03cabad_add_cluster_distro.py to 4956f03cabad_add_cluster_distro.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/cbbc65a86986_add_health_status_to_cluster.py to cbbc65a86986_add_health_status_to_cluster.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/085e601a39f6_remove_service.py to 085e601a39f6_remove_service.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/e647f5931da8_add_insecure_registry_to_baymodel.py to e647f5931da8_add_insecure_registry_to_baymodel.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/40f325033343_add_bay_create_timeout_to_bay.py to 40f325033343_add_bay_create_timeout_to_bay.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/52bcaf58fecb_add_master_flavor_id_to_cluster.py to 52bcaf58fecb_add_master_flavor_id_to_cluster.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/2d1354bbf76e_ssh_authorized_key.py to 2d1354bbf76e_ssh_authorized_key.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/1f196a3dabae_remove_container.py to 1f196a3dabae_remove_container.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/7da8489d6a68_separated_ca_cert_for_etcd_and_front_.py to 7da8489d6a68_separated_ca_cert_for_etcd_and_front_.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/2d8657c0cdc_add_bay_uuid.py to 2d8657c0cdc_add_bay_uuid.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/5518af8dbc21_rename_cert_uuid.py to 5518af8dbc21_rename_cert_uuid.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/ef08a5e057bd_remove_pod.py to ef08a5e057bd_remove_pod.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/2d1354bbf76e_ssh_authorized_key.py to 2d1354bbf76e_ssh_authorized_key.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/40f325033343_add_bay_create_timeout_to_bay.py to 40f325033343_add_bay_create_timeout_to_bay.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/156ceb17fb0a_add_bay_status_reason.py to 156ceb17fb0a_add_bay_status_reason.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/3be65537a94a_add_network_driver_baymodel_column.py to 3be65537a94a_add_network_driver_baymodel_column.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/ee92b41b8809_create_quotas_table.py to ee92b41b8809_create_quotas_table.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/5518af8dbc21_rename_cert_uuid.py to 5518af8dbc21_rename_cert_uuid.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/57fbdf2327a2_remove_baylock.py to 57fbdf2327a2_remove_baylock.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/2d8657c0cdc_add_bay_uuid.py to 2d8657c0cdc_add_bay_uuid.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/87e62e3c7abc_add_hidden_to_cluster_template.py to 87e62e3c7abc_add_hidden_to_cluster_template.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/1c1ff5e56048_rename_container_image_id.py to 1c1ff5e56048_rename_container_image_id.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/049f81f6f584_remove_ssh_authorized_key_from_baymodel.py to 049f81f6f584_remove_ssh_authorized_key_from_baymodel.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/421102d1f2d2_create_x509keypair_table.py to 421102d1f2d2_create_x509keypair_table.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/e772b2598d9_add_container_command.py to e772b2598d9_add_container_command.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/5977879072a7_add_env_to_container.py to 5977879072a7_add_env_to_container.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/4e263f236334_add_registry_enabled.py to 4e263f236334_add_registry_enabled.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/6f21dc920bb_add_cert_uuid_to_bay.py to 6f21dc920bb_add_cert_uuid_to_bay.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/5d4caa6e0a42_create_trustee_for_each_bay.py to 5d4caa6e0a42_create_trustee_for_each_bay.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/4ea34a59a64c_add_discovery_url_to_bay.py to 4ea34a59a64c_add_discovery_url_to_bay.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/35cff7c86221_add_private_network_to_baymodel.py to 35cff7c86221_add_private_network_to_baymodel.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/966a99e70ff_add_proxy.py to 966a99e70ff_add_proxy.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/859fb45df249_remove_replication_controller.py to 859fb45df249_remove_replication_controller.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/2ae93c9c6191_add_public_column_to_baymodel_table.py to 2ae93c9c6191_add_public_column_to_baymodel_table.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/a1136d335540_add_docker_storage_driver_column.py to a1136d335540_add_docker_storage_driver_column.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/456126c6c9e9_create_baylock_table.py to 456126c6c9e9_create_baylock_table.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/aa0cc27839af_add_docker_volume_size_to_cluster.py to aa0cc27839af_add_docker_volume_size_to_cluster.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/f1d8b0ab8b8d_added_observations_to_cluster_template.py to f1d8b0ab8b8d_added_observations_to_cluster_template.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/c0f832afc4fd_add_driver_to_cluster_template.py to c0f832afc4fd_add_driver_to_cluster_template.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/5977879072a7_add_env_to_container.py to 5977879072a7_add_env_to_container.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/3bea56f25597_multi_tenant.py to 3bea56f25597_multi_tenant.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/05d3e97de9ee_add_volume_driver.py to 05d3e97de9ee_add_volume_driver.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/e0653b2d5271_add_fixed_subnet_column_to_baymodel_table.py to e0653b2d5271_add_fixed_subnet_column_to_baymodel_table.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/2b5f24dd95de_rename_service_port.py to 2b5f24dd95de_rename_service_port.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/3b6c4c42adb4_add_unique_constraints.py to 3b6c4c42adb4_add_unique_constraints.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/2581ebaf0cb2_initial_migration.py to 2581ebaf0cb2_initial_migration.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/59e7664a8ba1_add_container_status.py to 59e7664a8ba1_add_container_status.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/04c625aa95ba_change_storage_driver_to_string.py to 04c625aa95ba_change_storage_driver_to_string.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/4ea34a59a64c_add_discovery_url_to_bay.py to 4ea34a59a64c_add_discovery_url_to_bay.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/53882537ac57_add_host_column_to_pod.py to 53882537ac57_add_host_column_to_pod.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/fcb4efee8f8b_add_version_info_to_bay.py to fcb4efee8f8b_add_version_info_to_bay.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/5ad410481b88_rename_insecure.py to 5ad410481b88_rename_insecure.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/1c1ff5e56048_rename_container_image_id.py to 1c1ff5e56048_rename_container_image_id.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/1d045384b966_add_insecure_baymodel_attr.py to 1d045384b966_add_insecure_baymodel_attr.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/adc3b7679ae_add_registry_trust_id_to_bay.py to adc3b7679ae_add_registry_trust_id_to_bay.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/ee92b41b8809_create_quotas_table.py to ee92b41b8809_create_quotas_table.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/3b6c4c42adb4_add_unique_constraints.py to 3b6c4c42adb4_add_unique_constraints.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/env.py to env.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/migration.py to migration.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/__init__.py to __init__.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/models.py to models.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/api.py to api.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/api.py to api.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking/checks.py to checks.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/certificates.py to certificates.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/rpc.py to rpc.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/heat.py to heat.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/barbican.py to barbican.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/nova.py to nova.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/conductor.py to conductor.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/api.py to api.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/cinder.py to cinder.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/drivers.py to drivers.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/database.py to database.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/cluster_templates.py to cluster_templates.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/opts.py to opts.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/glance.py to glance.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/x509.py to x509.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/cluster_heat.py to cluster_heat.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/trust.py to trust.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/paths.py to paths.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/nova.py to nova.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/cluster.py to cluster.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/magnum_client.py to magnum_client.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/docker_registry.py to docker_registry.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/heat.py to heat.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/octavia.py to octavia.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/neutron.py to neutron.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/profiler.py to profiler.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/drivers.py to drivers.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/kubernetes.py to kubernetes.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/neutron.py to neutron.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/keystone.py to keystone.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/docker.py to docker.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/rpc.py to rpc.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/certificates.py to certificates.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/services.py to services.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/conductor.py to conductor.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/paths.py to paths.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/cluster.py to cluster.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/trust.py to trust.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/quota.py to quota.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/docker.py to docker.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/docker_registry.py to docker_registry.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/glance.py to glance.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/magnum_client.py to magnum_client.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/x509.py to x509.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/utils.py to utils.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/keystone.py to keystone.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/cinder.py to cinder.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/services.py to services.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/cluster_templates.py to cluster_templates.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/api.py to api.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/barbican.py to barbican.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/version.py to version.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/conductor.py to conductor.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/api.py to api.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/driver_manage.py to driver_manage.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/status.py to status.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/db_manage.py to db_manage.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking/checks.py to checks.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/driver.py to driver.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/template_def.py to template_def.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/version.py to version.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/driver.py to driver.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/k8s_fedora_template_def.py to k8s_fedora_template_def.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/k8s_coreos_template_def.py to k8s_coreos_template_def.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/template_def.py to template_def.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/k8s_template_def.py to k8s_template_def.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/driver.py to driver.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/k8s_scale_manager.py to k8s_scale_manager.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/k8s_monitor.py to k8s_monitor.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cinder.py to cinder.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policy.py to policy.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/service.py to service.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/context.py to context.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/nova.py to nova.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/exception.py to exception.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/barbican_cert_manager.py to barbican_cert_manager.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/x509keypair_cert_manager.py to x509keypair_cert_manager.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/cert_manager.py to cert_manager.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/local_cert_manager.py to local_cert_manager.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/rpc_service.py to rpc_service.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/octavia.py to octavia.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/neutron.py to neutron.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/config.py to config.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/urlfetch.py to urlfetch.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/profiler.py to profiler.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509/operations.py to operations.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509/extensions.py to extensions.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509/validator.py to validator.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/keystone.py to keystone.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/rpc.py to rpc.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/magnum_service.py to magnum_service.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/cluster_template.py to cluster_template.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/stats.py to stats.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/cluster.py to cluster.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/nodegroup.py to nodegroup.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/certificate.py to certificate.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/base.py to base.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/quota.py to quota.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/federation.py to federation.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/name_generator.py to name_generator.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/short_id.py to short_id.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/utils.py to utils.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/clients.py to clients.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/attr_validator.py to attr_validator.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/servicegroup.py to servicegroup.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware/parsable_error.py to parsable_error.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware/auth_token.py to auth_token.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/validation.py to validation.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/versioned_method.py to versioned_method.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/config.py to config.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/hooks.py to hooks.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/http_error.py to http_error.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/versions.py to versions.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/root.py to root.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/base.py to base.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/link.py to link.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/cluster_template.py to cluster_template.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/stats.py to stats.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/magnum_services.py to magnum_services.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/cluster.py to cluster.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/nodegroup.py to nodegroup.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/certificate.py to certificate.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/cluster_actions.py to cluster_actions.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/collection.py to collection.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/quota.py to quota.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/types.py to types.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/federation.py to federation.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/utils.py to utils.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/expose.py to expose.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/app.py to app.cpython-312.pyc running install_data creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/etc/magnum copying etc/magnum/api-paste.ini -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/etc/magnum @@ -4907,406 +4944,406 @@ !! check.warn(importable) running install_lib -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/version.py to version.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/k8s_api.py to k8s_api.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/api.py to api.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/monitors.py to monitors.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/scale_manager.py to scale_manager.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks/heat_tasks.py to heat_tasks.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/indirection_api.py to indirection_api.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/ca_conductor.py to ca_conductor.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/conductor_listener.py to conductor_listener.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/cluster_conductor.py to cluster_conductor.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/nodegroup_conductor.py to nodegroup_conductor.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common/cert_manager.py to cert_manager.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common/trust_manager.py to trust_manager.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/federation_conductor.py to federation_conductor.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/utils.py to utils.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/servicegroup/magnum_service_periodic.py to magnum_service_periodic.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/servicegroup/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/rpc.py to rpc.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/clients.py to clients.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/service.py to service.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/nova.py to nova.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/context.py to context.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/exception.py to exception.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/octavia.py to octavia.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/certificate.py to certificate.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/stats.py to stats.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/cluster.py to cluster.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/quota.py to quota.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/federation.py to federation.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/magnum_service.py to magnum_service.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/cluster_template.py to cluster_template.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/nodegroup.py to nodegroup.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/base.py to base.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/profiler.py to profiler.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/neutron.py to neutron.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/short_id.py to short_id.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/utils.py to utils.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/config.py to config.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/barbican_cert_manager.py to barbican_cert_manager.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/x509keypair_cert_manager.py to x509keypair_cert_manager.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/cert_manager.py to cert_manager.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/local_cert_manager.py to local_cert_manager.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/urlfetch.py to urlfetch.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/name_generator.py to name_generator.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/keystone.py to keystone.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cinder.py to cinder.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policy.py to policy.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509/extensions.py to extensions.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509/validator.py to validator.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509/operations.py to operations.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/rpc_service.py to rpc_service.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/db_manage.py to db_manage.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/driver_manage.py to driver_manage.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/conductor.py to conductor.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/status.py to status.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/api.py to api.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/fields.py to fields.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/magnum_service.py to magnum_service.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/cluster_template.py to cluster_template.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/stats.py to stats.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/x509keypair.py to x509keypair.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/cluster.py to cluster.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/fields.py to fields.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/nodegroup.py to nodegroup.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/certificate.py to certificate.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/base.py to base.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/stats.py to stats.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/cluster.py to cluster.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/quota.py to quota.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/federation.py to federation.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/magnum_service.py to magnum_service.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/cluster_template.py to cluster_template.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/nodegroup.py to nodegroup.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/base.py to base.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/i18n.py to i18n.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/service/periodic.py to periodic.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/service/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/k8s_api.py to k8s_api.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks/heat_tasks.py to heat_tasks.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/scale_manager.py to scale_manager.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/monitors.py to monitors.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/utils.py to utils.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/api.py to api.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common/trust_manager.py to trust_manager.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common/cert_manager.py to cert_manager.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/cluster_conductor.py to cluster_conductor.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/conductor_listener.py to conductor_listener.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/ca_conductor.py to ca_conductor.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/nodegroup_conductor.py to nodegroup_conductor.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/federation_conductor.py to federation_conductor.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/indirection_api.py to indirection_api.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/driver.py to driver.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/k8s_scale_manager.py to k8s_scale_manager.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/k8s_monitor.py to k8s_monitor.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/k8s_coreos_template_def.py to k8s_coreos_template_def.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/driver.py to driver.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/template_def.py to template_def.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/k8s_fedora_template_def.py to k8s_fedora_template_def.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/k8s_template_def.py to k8s_template_def.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/version.py to version.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/driver.py to driver.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/template_def.py to template_def.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/conf_fixture.py to conf_fixture.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/output_fixture.py to output_fixture.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/policy_fixture.py to policy_fixture.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/utils.py to utils.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/fakes.py to fakes.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/test_hacking.py to test_hacking.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_k8s_api.py to test_k8s_api.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/tasks/test_heat_tasks.py to test_heat_tasks.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/tasks/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_scale_manager.py to test_scale_manager.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_conductor_listener.py to test_conductor_listener.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_cluster_conductor.py to test_cluster_conductor.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_indirection_api.py to test_indirection_api.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_federation_conductor.py to test_federation_conductor.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_ca_conductor.py to test_ca_conductor.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_nodegroup_conductor.py to test_nodegroup_conductor.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common/test_trust_manager.py to test_trust_manager.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common/test_cert_manager.py to test_cert_manager.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_k8s_cluster_conductor.py to test_k8s_cluster_conductor.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_rpcapi.py to test_rpcapi.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_monitors.py to test_monitors.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_utils.py to test_utils.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/servicegroup/test_magnum_service.py to test_magnum_service.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/servicegroup/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_clients.py to test_clients.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_keystone.py to test_keystone.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_policy.py to test_policy.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_context.py to test_context.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_neutron.py to test_neutron.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_utils.py to test_utils.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_rpc.py to test_rpc.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_stats_policy.py to test_stats_policy.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_quota_policy.py to test_quota_policy.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_certificate_policy.py to test_certificate_policy.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_nodegroup_policy.py to test_nodegroup_policy.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_cluster_policy.py to test_cluster_policy.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_magnum_service_policy.py to test_magnum_service_policy.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_federation_policy.py to test_federation_policy.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_cluster_template_policy.py to test_cluster_template_policy.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/base.py to base.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_urlfetch.py to test_urlfetch.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_short_id.py to test_short_id.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_profiler.py to test_profiler.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_service.py to test_service.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/test_local.py to test_local.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/test_x509keypair_cert_manager.py to test_x509keypair_cert_manager.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/test_cert_manager.py to test_cert_manager.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/test_barbican.py to test_barbican.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_exception.py to test_exception.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_octavia.py to test_octavia.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509/test_operations.py to test_operations.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509/test_validator.py to test_validator.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509/test_sign.py to test_sign.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/template/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/template/test_template.py to test_template.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_db_manage.py to test_db_manage.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_status.py to test_status.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_conductor.py to test_conductor.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_api.py to test_api.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_driver_manage.py to test_driver_manage.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_nodegroup.py to test_nodegroup.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_federation.py to test_federation.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_fields.py to test_fields.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_objects.py to test_objects.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_x509keypair.py to test_x509keypair.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_cluster.py to test_cluster.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_cluster_template.py to test_cluster_template.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_federation.py to test_federation.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_magnum_service.py to test_magnum_service.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_fields.py to test_fields.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/utils.py to utils.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_cluster_template.py to test_cluster_template.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/service/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/service/test_periodic.py to test_periodic.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/test_hacking.py to test_hacking.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/service/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_nodegroup.py to test_nodegroup.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_x509keypair.py to test_x509keypair.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_cluster.py to test_cluster.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_quota.py to test_quota.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_cluster_template.py to test_cluster_template.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/base.py to base.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/sqlalchemy/test_types.py to test_types.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/sqlalchemy/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_federation.py to test_federation.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_magnum_service.py to test_magnum_service.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/utils.py to utils.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conf/test_conf.py to test_conf.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conf/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/template/test_template.py to test_template.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/template/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_db_manage.py to test_db_manage.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_status.py to test_status.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_api.py to test_api.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_conductor.py to test_conductor.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_driver_manage.py to test_driver_manage.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_rpcapi.py to test_rpcapi.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/tasks/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/tasks/test_heat_tasks.py to test_heat_tasks.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_k8s_api.py to test_k8s_api.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_utils.py to test_utils.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_scale_manager.py to test_scale_manager.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_monitors.py to test_monitors.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_ca_conductor.py to test_ca_conductor.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_cluster_conductor.py to test_cluster_conductor.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common/test_trust_manager.py to test_trust_manager.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common/test_cert_manager.py to test_cert_manager.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_nodegroup_conductor.py to test_nodegroup_conductor.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_conductor_listener.py to test_conductor_listener.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_federation_conductor.py to test_federation_conductor.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_indirection_api.py to test_indirection_api.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_k8s_cluster_conductor.py to test_k8s_cluster_conductor.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers/test_heat_driver.py to test_heat_driver.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers/test_template_definition.py to test_template_definition.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers/test_heat_driver.py to test_heat_driver.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_clients.py to test_clients.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_neutron.py to test_neutron.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_urlfetch.py to test_urlfetch.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/test_x509keypair_cert_manager.py to test_x509keypair_cert_manager.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/test_barbican.py to test_barbican.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/test_local.py to test_local.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/test_cert_manager.py to test_cert_manager.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_context.py to test_context.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_keystone.py to test_keystone.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_short_id.py to test_short_id.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509/test_operations.py to test_operations.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509/test_sign.py to test_sign.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509/test_validator.py to test_validator.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_rpc.py to test_rpc.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_policy.py to test_policy.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_exception.py to test_exception.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_certificate_policy.py to test_certificate_policy.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_quota_policy.py to test_quota_policy.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_magnum_service_policy.py to test_magnum_service_policy.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/base.py to base.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_nodegroup_policy.py to test_nodegroup_policy.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_stats_policy.py to test_stats_policy.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_cluster_template_policy.py to test_cluster_template_policy.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_federation_policy.py to test_federation_policy.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_cluster_policy.py to test_cluster_policy.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_utils.py to test_utils.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_profiler.py to test_profiler.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_service.py to test_service.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_octavia.py to test_octavia.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_attr_validator.py to test_attr_validator.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_validation.py to test_validation.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_servicegroup.py to test_servicegroup.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/base.py to base.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_app.py to test_app.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_expose.py to test_expose.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/test_base.py to test_base.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/test_root.py to test_root.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_nodegroup.py to test_nodegroup.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_federation.py to test_federation.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_types.py to test_types.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_stats.py to test_stats.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_utils.py to test_utils.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_certificate.py to test_certificate.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_cluster.py to test_cluster.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_quota.py to test_quota.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_cluster_template.py to test_cluster_template.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_types.py to test_types.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_federation.py to test_federation.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_magnum_service.py to test_magnum_service.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_utils.py to test_utils.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_cluster_actions.py to test_cluster_actions.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_quota.py to test_quota.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_cluster_template.py to test_cluster_template.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_app.py to test_app.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_validation.py to test_validation.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_expose.py to test_expose.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_servicegroup.py to test_servicegroup.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_hooks.py to test_hooks.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_hooks.py to test_hooks.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/utils.py to utils.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_attr_validator.py to test_attr_validator.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/base.py to base.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_nodegroup.py to test_nodegroup.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_federation.py to test_federation.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/sqlalchemy/test_types.py to test_types.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/sqlalchemy/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_x509keypair.py to test_x509keypair.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_cluster.py to test_cluster.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_magnum_service.py to test_magnum_service.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/utils.py to utils.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_quota.py to test_quota.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_cluster_template.py to test_cluster_template.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/base.py to base.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conf/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conf/test_conf.py to test_conf.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/fakes.py to fakes.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/python_client_base.py to python_client_base.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_fcos/test_k8s_python_client.py to test_k8s_python_client.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_fcos/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s/test_magnum_python_client.py to test_magnum_python_client.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s/test_k8s_python_client.py to test_k8s_python_client.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_ironic/test_k8s_python_client.py to test_k8s_python_client.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_ironic/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/datagen.py to datagen.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/manager.py to manager.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/utils.py to utils.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/config.py to config.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/base.py to base.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/client.py to client.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/utils.py to utils.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/manager.py to manager.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/models.py to models.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/base.py to base.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/python_client_base.py to python_client_base.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_ironic/test_k8s_python_client.py to test_k8s_python_client.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_ironic/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s/test_magnum_python_client.py to test_magnum_python_client.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s/test_k8s_python_client.py to test_k8s_python_client.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/magnum_service_client.py to magnum_service_client.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/cluster_template_client.py to cluster_template_client.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/cert_client.py to cert_client.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/cluster_client.py to cluster_client.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/base.py to base.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/clusterpatch_model.py to clusterpatch_model.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/cluster_model.py to cluster_model.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/cluster_templatepatch_model.py to cluster_templatepatch_model.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/cluster_template_model.py to cluster_template_model.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/clusterpatch_model.py to clusterpatch_model.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/magnum_service_model.py to magnum_service_model.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/cert_model.py to cert_model.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/cluster_templatepatch_model.py to cluster_templatepatch_model.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/cluster_id_model.py to cluster_id_model.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/magnum_service_model.py to magnum_service_model.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/base.py to base.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/cluster_client.py to cluster_client.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/cluster_template_client.py to cluster_template_client.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/cert_client.py to cert_client.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/magnum_service_client.py to magnum_service_client.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/base.py to base.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/fake_notifier.py to fake_notifier.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/i18n.py to i18n.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/versions.py to versions.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/root.py to root.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/link.py to link.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/collection.py to collection.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/certificate.py to certificate.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/cluster_actions.py to cluster_actions.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/stats.py to stats.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/cluster.py to cluster.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/quota.py to quota.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/magnum_services.py to magnum_services.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/federation.py to federation.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/cluster_template.py to cluster_template.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/types.py to types.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/nodegroup.py to nodegroup.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/base.py to base.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware/auth_token.py to auth_token.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware/parsable_error.py to parsable_error.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/http_error.py to http_error.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/validation.py to validation.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/servicegroup.py to servicegroup.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/hooks.py to hooks.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/attr_validator.py to attr_validator.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/versioned_method.py to versioned_method.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/utils.py to utils.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/config.py to config.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/app.py to app.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/expose.py to expose.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/output_fixture.py to output_fixture.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/policy_fixture.py to policy_fixture.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/conf_fixture.py to conf_fixture.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/utils.py to utils.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/api.py to api.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/migration.py to migration.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/migration.py to migration.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/fb03fdef8919_rename_baymodel_to_clustertemplate.py to fb03fdef8919_rename_baymodel_to_clustertemplate.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/720f640f43d1_rename_bay_table_to_cluster.py to 720f640f43d1_rename_bay_table_to_cluster.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/b1f612248cab_add_floating_ip_enabled_column_to_.py to b1f612248cab_add_floating_ip_enabled_column_to_.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/421102d1f2d2_create_x509keypair_table.py to 421102d1f2d2_create_x509keypair_table.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/7da8489d6a68_separated_ca_cert_for_etcd_and_front_.py to 7da8489d6a68_separated_ca_cert_for_etcd_and_front_.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/3a938526b35d_add_docker_volume_size.py to 3a938526b35d_add_docker_volume_size.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/a0e7c8450ab1_add_labels_to_cluster.py to a0e7c8450ab1_add_labels_to_cluster.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/d072f58ab240_modify_x509keypair_table.py to d072f58ab240_modify_x509keypair_table.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/api.py to api.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/2b5f24dd95de_rename_service_port.py to 2b5f24dd95de_rename_service_port.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/59e7664a8ba1_add_container_status.py to 59e7664a8ba1_add_container_status.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/c04e925e65c2_nodegroups_v2.py to c04e925e65c2_nodegroups_v2.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/bc46ba6cf949_add_keypair_to_cluster.py to bc46ba6cf949_add_keypair_to_cluster.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/592131657ca1_add_coe_column_to_baymodel.py to 592131657ca1_add_coe_column_to_baymodel.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/e772b2598d9_add_container_command.py to e772b2598d9_add_container_command.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/6f21dc998bb_add_master_addresses_to_bay.py to 6f21dc998bb_add_master_addresses_to_bay.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/2ace4006498_rename_bay_minions_address.py to 2ace4006498_rename_bay_minions_address.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/2ae93c9c6191_add_public_column_to_baymodel_table.py to 2ae93c9c6191_add_public_column_to_baymodel_table.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/5793cd26898d_add_bay_status.py to 5793cd26898d_add_bay_status.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/3bea56f25597_multi_tenant.py to 3bea56f25597_multi_tenant.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/52bcaf58fecb_add_master_flavor_id_to_cluster.py to 52bcaf58fecb_add_master_flavor_id_to_cluster.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/87e62e3c7abc_add_hidden_to_cluster_template.py to 87e62e3c7abc_add_hidden_to_cluster_template.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/417917e778f5_add_server_type_to_baymodel.py to 417917e778f5_add_server_type_to_baymodel.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/9a1539f1cd2c_add_federation_table.py to 9a1539f1cd2c_add_federation_table.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/461d798132c7_change_cluster_to_support_nodegroups.py to 461d798132c7_change_cluster_to_support_nodegroups.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/5793cd26898d_add_bay_status.py to 5793cd26898d_add_bay_status.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/c0f832afc4fd_add_driver_to_cluster_template.py to c0f832afc4fd_add_driver_to_cluster_template.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/14328d6a57e3_add_master_count_to_bay.py to 14328d6a57e3_add_master_count_to_bay.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/04c625aa95ba_change_storage_driver_to_string.py to 04c625aa95ba_change_storage_driver_to_string.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/2ace4006498_rename_bay_minions_address.py to 2ace4006498_rename_bay_minions_address.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/6f21dc998bb_add_master_addresses_to_bay.py to 6f21dc998bb_add_master_addresses_to_bay.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/53882537ac57_add_host_column_to_pod.py to 53882537ac57_add_host_column_to_pod.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/859fb45df249_remove_replication_controller.py to 859fb45df249_remove_replication_controller.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/a0e7c8450ab1_add_labels_to_cluster.py to a0e7c8450ab1_add_labels_to_cluster.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/57fbdf2327a2_remove_baylock.py to 57fbdf2327a2_remove_baylock.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/cbbc65a86986_add_health_status_to_cluster.py to cbbc65a86986_add_health_status_to_cluster.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/fb03fdef8919_rename_baymodel_to_clustertemplate.py to fb03fdef8919_rename_baymodel_to_clustertemplate.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/b1f612248cab_add_floating_ip_enabled_column_to_.py to b1f612248cab_add_floating_ip_enabled_column_to_.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/1481f5b560dd_add_labels_column_to_baymodel_table.py to 1481f5b560dd_add_labels_column_to_baymodel_table.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/456126c6c9e9_create_baylock_table.py to 456126c6c9e9_create_baylock_table.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/05d3e97de9ee_add_volume_driver.py to 05d3e97de9ee_add_volume_driver.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/3a938526b35d_add_docker_volume_size.py to 3a938526b35d_add_docker_volume_size.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/1f196a3dabae_remove_container.py to 1f196a3dabae_remove_container.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/720f640f43d1_rename_bay_table_to_cluster.py to 720f640f43d1_rename_bay_table_to_cluster.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/d072f58ab240_modify_x509keypair_table.py to d072f58ab240_modify_x509keypair_table.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/68ce16dfd341_add_master_lb_enabled_column_to_baymodel_table.py to 68ce16dfd341_add_master_lb_enabled_column_to_baymodel_table.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/bb42b7cad130_remove_node_object.py to bb42b7cad130_remove_node_object.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/47380964133d_add_network_subnet_fip_to_cluster.py to 47380964133d_add_network_subnet_fip_to_cluster.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/049f81f6f584_remove_ssh_authorized_key_from_baymodel.py to 049f81f6f584_remove_ssh_authorized_key_from_baymodel.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/1afee1db6cd0_add_master_flavor.py to 1afee1db6cd0_add_master_flavor.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/14328d6a57e3_add_master_count_to_bay.py to 14328d6a57e3_add_master_count_to_bay.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/4e263f236334_add_registry_enabled.py to 4e263f236334_add_registry_enabled.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/2581ebaf0cb2_initial_migration.py to 2581ebaf0cb2_initial_migration.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/e647f5931da8_add_insecure_registry_to_baymodel.py to e647f5931da8_add_insecure_registry_to_baymodel.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/27ad304554e2_adding_magnum_service_functionality.py to 27ad304554e2_adding_magnum_service_functionality.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/f1d8b0ab8b8d_added_observations_to_cluster_template.py to f1d8b0ab8b8d_added_observations_to_cluster_template.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/95096e2334ee_add_master_lb_enabled_to_cluster.py to 95096e2334ee_add_master_lb_enabled_to_cluster.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/085e601a39f6_remove_service.py to 085e601a39f6_remove_service.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/ac92cbae311c_add_nodegoup_table.py to ac92cbae311c_add_nodegoup_table.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/adc3b7679ae_add_registry_trust_id_to_bay.py to adc3b7679ae_add_registry_trust_id_to_bay.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/29affeaa2bc2_rename_bay_master_address.py to 29affeaa2bc2_rename_bay_master_address.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/68ce16dfd341_add_master_lb_enabled_column_to_baymodel_table.py to 68ce16dfd341_add_master_lb_enabled_column_to_baymodel_table.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/041d9a0f1159_add_flavor_id_to_cluster.py to 041d9a0f1159_add_flavor_id_to_cluster.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/95096e2334ee_add_master_lb_enabled_to_cluster.py to 95096e2334ee_add_master_lb_enabled_to_cluster.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/156ceb17fb0a_add_bay_status_reason.py to 156ceb17fb0a_add_bay_status_reason.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/35cff7c86221_add_private_network_to_baymodel.py to 35cff7c86221_add_private_network_to_baymodel.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/a1136d335540_add_docker_storage_driver_column.py to a1136d335540_add_docker_storage_driver_column.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/c04e925e65c2_nodegroups_v2.py to c04e925e65c2_nodegroups_v2.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/9a1539f1cd2c_add_federation_table.py to 9a1539f1cd2c_add_federation_table.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/1d045384b966_add_insecure_baymodel_attr.py to 1d045384b966_add_insecure_baymodel_attr.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/47380964133d_add_network_subnet_fip_to_cluster.py to 47380964133d_add_network_subnet_fip_to_cluster.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/e0653b2d5271_add_fixed_subnet_column_to_baymodel_table.py to e0653b2d5271_add_fixed_subnet_column_to_baymodel_table.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/33ef79969018_add_memory_to_container.py to 33ef79969018_add_memory_to_container.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/fcb4efee8f8b_add_version_info_to_bay.py to fcb4efee8f8b_add_version_info_to_bay.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/5d4caa6e0a42_create_trustee_for_each_bay.py to 5d4caa6e0a42_create_trustee_for_each_bay.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/1afee1db6cd0_add_master_flavor.py to 1afee1db6cd0_add_master_flavor.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/4956f03cabad_add_cluster_distro.py to 4956f03cabad_add_cluster_distro.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/cbbc65a86986_add_health_status_to_cluster.py to cbbc65a86986_add_health_status_to_cluster.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/085e601a39f6_remove_service.py to 085e601a39f6_remove_service.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/e647f5931da8_add_insecure_registry_to_baymodel.py to e647f5931da8_add_insecure_registry_to_baymodel.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/40f325033343_add_bay_create_timeout_to_bay.py to 40f325033343_add_bay_create_timeout_to_bay.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/52bcaf58fecb_add_master_flavor_id_to_cluster.py to 52bcaf58fecb_add_master_flavor_id_to_cluster.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/2d1354bbf76e_ssh_authorized_key.py to 2d1354bbf76e_ssh_authorized_key.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/1f196a3dabae_remove_container.py to 1f196a3dabae_remove_container.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/7da8489d6a68_separated_ca_cert_for_etcd_and_front_.py to 7da8489d6a68_separated_ca_cert_for_etcd_and_front_.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/2d8657c0cdc_add_bay_uuid.py to 2d8657c0cdc_add_bay_uuid.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/5518af8dbc21_rename_cert_uuid.py to 5518af8dbc21_rename_cert_uuid.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/ef08a5e057bd_remove_pod.py to ef08a5e057bd_remove_pod.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/2d1354bbf76e_ssh_authorized_key.py to 2d1354bbf76e_ssh_authorized_key.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/40f325033343_add_bay_create_timeout_to_bay.py to 40f325033343_add_bay_create_timeout_to_bay.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/156ceb17fb0a_add_bay_status_reason.py to 156ceb17fb0a_add_bay_status_reason.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/3be65537a94a_add_network_driver_baymodel_column.py to 3be65537a94a_add_network_driver_baymodel_column.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/ee92b41b8809_create_quotas_table.py to ee92b41b8809_create_quotas_table.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/5518af8dbc21_rename_cert_uuid.py to 5518af8dbc21_rename_cert_uuid.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/57fbdf2327a2_remove_baylock.py to 57fbdf2327a2_remove_baylock.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/2d8657c0cdc_add_bay_uuid.py to 2d8657c0cdc_add_bay_uuid.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/87e62e3c7abc_add_hidden_to_cluster_template.py to 87e62e3c7abc_add_hidden_to_cluster_template.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/1c1ff5e56048_rename_container_image_id.py to 1c1ff5e56048_rename_container_image_id.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/049f81f6f584_remove_ssh_authorized_key_from_baymodel.py to 049f81f6f584_remove_ssh_authorized_key_from_baymodel.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/421102d1f2d2_create_x509keypair_table.py to 421102d1f2d2_create_x509keypair_table.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/e772b2598d9_add_container_command.py to e772b2598d9_add_container_command.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/5977879072a7_add_env_to_container.py to 5977879072a7_add_env_to_container.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/4e263f236334_add_registry_enabled.py to 4e263f236334_add_registry_enabled.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/6f21dc920bb_add_cert_uuid_to_bay.py to 6f21dc920bb_add_cert_uuid_to_bay.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/5d4caa6e0a42_create_trustee_for_each_bay.py to 5d4caa6e0a42_create_trustee_for_each_bay.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/4ea34a59a64c_add_discovery_url_to_bay.py to 4ea34a59a64c_add_discovery_url_to_bay.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/35cff7c86221_add_private_network_to_baymodel.py to 35cff7c86221_add_private_network_to_baymodel.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/966a99e70ff_add_proxy.py to 966a99e70ff_add_proxy.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/859fb45df249_remove_replication_controller.py to 859fb45df249_remove_replication_controller.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/2ae93c9c6191_add_public_column_to_baymodel_table.py to 2ae93c9c6191_add_public_column_to_baymodel_table.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/a1136d335540_add_docker_storage_driver_column.py to a1136d335540_add_docker_storage_driver_column.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/456126c6c9e9_create_baylock_table.py to 456126c6c9e9_create_baylock_table.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/aa0cc27839af_add_docker_volume_size_to_cluster.py to aa0cc27839af_add_docker_volume_size_to_cluster.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/f1d8b0ab8b8d_added_observations_to_cluster_template.py to f1d8b0ab8b8d_added_observations_to_cluster_template.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/c0f832afc4fd_add_driver_to_cluster_template.py to c0f832afc4fd_add_driver_to_cluster_template.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/5977879072a7_add_env_to_container.py to 5977879072a7_add_env_to_container.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/3bea56f25597_multi_tenant.py to 3bea56f25597_multi_tenant.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/05d3e97de9ee_add_volume_driver.py to 05d3e97de9ee_add_volume_driver.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/e0653b2d5271_add_fixed_subnet_column_to_baymodel_table.py to e0653b2d5271_add_fixed_subnet_column_to_baymodel_table.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/2b5f24dd95de_rename_service_port.py to 2b5f24dd95de_rename_service_port.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/3b6c4c42adb4_add_unique_constraints.py to 3b6c4c42adb4_add_unique_constraints.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/2581ebaf0cb2_initial_migration.py to 2581ebaf0cb2_initial_migration.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/59e7664a8ba1_add_container_status.py to 59e7664a8ba1_add_container_status.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/04c625aa95ba_change_storage_driver_to_string.py to 04c625aa95ba_change_storage_driver_to_string.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/4ea34a59a64c_add_discovery_url_to_bay.py to 4ea34a59a64c_add_discovery_url_to_bay.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/53882537ac57_add_host_column_to_pod.py to 53882537ac57_add_host_column_to_pod.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/fcb4efee8f8b_add_version_info_to_bay.py to fcb4efee8f8b_add_version_info_to_bay.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/5ad410481b88_rename_insecure.py to 5ad410481b88_rename_insecure.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/1c1ff5e56048_rename_container_image_id.py to 1c1ff5e56048_rename_container_image_id.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/1d045384b966_add_insecure_baymodel_attr.py to 1d045384b966_add_insecure_baymodel_attr.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/adc3b7679ae_add_registry_trust_id_to_bay.py to adc3b7679ae_add_registry_trust_id_to_bay.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/ee92b41b8809_create_quotas_table.py to ee92b41b8809_create_quotas_table.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/3b6c4c42adb4_add_unique_constraints.py to 3b6c4c42adb4_add_unique_constraints.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/env.py to env.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/migration.py to migration.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/models.py to models.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/api.py to api.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/api.py to api.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking/checks.py to checks.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/certificates.py to certificates.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/rpc.py to rpc.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/heat.py to heat.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/barbican.py to barbican.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/nova.py to nova.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/conductor.py to conductor.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/api.py to api.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/cinder.py to cinder.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/drivers.py to drivers.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/database.py to database.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/cluster_templates.py to cluster_templates.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/opts.py to opts.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/glance.py to glance.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/x509.py to x509.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/cluster_heat.py to cluster_heat.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/trust.py to trust.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/paths.py to paths.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/nova.py to nova.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/cluster.py to cluster.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/magnum_client.py to magnum_client.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/docker_registry.py to docker_registry.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/heat.py to heat.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/octavia.py to octavia.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/neutron.py to neutron.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/profiler.py to profiler.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/drivers.py to drivers.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/kubernetes.py to kubernetes.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/neutron.py to neutron.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/keystone.py to keystone.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/docker.py to docker.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/rpc.py to rpc.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/certificates.py to certificates.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/services.py to services.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/conductor.py to conductor.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/paths.py to paths.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/cluster.py to cluster.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/trust.py to trust.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/quota.py to quota.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/docker.py to docker.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/docker_registry.py to docker_registry.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/glance.py to glance.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/magnum_client.py to magnum_client.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/x509.py to x509.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/utils.py to utils.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/keystone.py to keystone.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/cinder.py to cinder.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/services.py to services.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/cluster_templates.py to cluster_templates.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/api.py to api.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/barbican.py to barbican.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/version.py to version.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/conductor.py to conductor.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/api.py to api.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/driver_manage.py to driver_manage.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/status.py to status.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/db_manage.py to db_manage.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking/checks.py to checks.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/driver.py to driver.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/template_def.py to template_def.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/version.py to version.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/driver.py to driver.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/k8s_fedora_template_def.py to k8s_fedora_template_def.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/k8s_coreos_template_def.py to k8s_coreos_template_def.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/template_def.py to template_def.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/k8s_template_def.py to k8s_template_def.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/driver.py to driver.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/k8s_scale_manager.py to k8s_scale_manager.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/k8s_monitor.py to k8s_monitor.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cinder.py to cinder.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policy.py to policy.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/service.py to service.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/context.py to context.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/nova.py to nova.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/exception.py to exception.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/barbican_cert_manager.py to barbican_cert_manager.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/x509keypair_cert_manager.py to x509keypair_cert_manager.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/cert_manager.py to cert_manager.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/local_cert_manager.py to local_cert_manager.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/rpc_service.py to rpc_service.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/octavia.py to octavia.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/neutron.py to neutron.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/config.py to config.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/urlfetch.py to urlfetch.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/profiler.py to profiler.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509/operations.py to operations.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509/extensions.py to extensions.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509/validator.py to validator.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/keystone.py to keystone.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/rpc.py to rpc.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/magnum_service.py to magnum_service.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/cluster_template.py to cluster_template.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/stats.py to stats.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/cluster.py to cluster.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/nodegroup.py to nodegroup.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/certificate.py to certificate.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/base.py to base.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/quota.py to quota.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/federation.py to federation.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/name_generator.py to name_generator.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/short_id.py to short_id.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/utils.py to utils.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/clients.py to clients.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/attr_validator.py to attr_validator.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/servicegroup.py to servicegroup.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware/parsable_error.py to parsable_error.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware/auth_token.py to auth_token.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/validation.py to validation.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/versioned_method.py to versioned_method.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/config.py to config.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/hooks.py to hooks.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/http_error.py to http_error.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/versions.py to versions.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/root.py to root.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/base.py to base.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/link.py to link.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/cluster_template.py to cluster_template.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/stats.py to stats.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/magnum_services.py to magnum_services.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/cluster.py to cluster.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/nodegroup.py to nodegroup.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/certificate.py to certificate.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/cluster_actions.py to cluster_actions.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/collection.py to collection.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/quota.py to quota.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/types.py to types.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/federation.py to federation.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/utils.py to utils.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/expose.py to expose.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/app.py to app.cpython-313.pyc running install_data running install_egg_info removing '/build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum-19.0.0.egg-info' (and everything under it) @@ -5329,48 +5366,47 @@ + PYTHON3S=disabled + TEST_PARALLEL_OPT=--parallel + TEST_SERIAL_OPT= -+ echo WARNING: --no-py2 is deprecated, and always on. ++ for i in $@ ++ case "${1}" in ++ echo 'WARNING: --no-py2 is deprecated, and always on.' WARNING: --no-py2 is deprecated, and always on. + shift -+ py3versions -vr -+ PYTHON3S=3.12 3.13 -+ [ yes = no ] -+ [ no = yes ] -+ [ 3.12 = disabled ] -+ echo 3.12 -+ cut -d. -f1 ++ for i in $@ ++ case "${1}" in ++ for i in $@ ++ case "${1}" in ++ for i in $@ ++ case "${1}" in +++ py3versions -vr ++ PYTHON3S='3.12 3.13' ++ '[' yes = no ']' ++ '[' no = yes ']' ++ for pyvers in ${PYTHON3S} ++ '[' 3.12 = disabled ']' +++ echo 3.12 +++ cut -d. -f1 + PYMAJOR=3 -+ echo ===> Testing with python (python3) ++ echo '===> Testing with python (python3)' ===> Testing with python (python3) -+ pwd -+ [ -d /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages ] -+ [ -z ] -+ pwd -+ echo Implicitly adding PYTHONPATH=/build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages +++ pwd ++ '[' -d /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages ']' ++ '[' -z '' ']' +++ pwd ++ echo 'Implicitly adding PYTHONPATH=/build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages' Implicitly adding PYTHONPATH=/build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages -+ pwd +++ pwd + export PYTHONPATH=/build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages -+ [ -e .stestr.conf ] -+ [ -x /usr/bin/python3-stestr ] ++ PYTHONPATH=/build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages ++ '[' -e .stestr.conf ']' ++ '[' -x /usr/bin/python3-stestr ']' + STESTR=stestr + rm -rf .stestr -+ PYTHON=python3.12 stestr run --parallel --subunit --concurrency 2 magnum\.tests\.unit\.(?!(drivers\.test_heat_driver\.TestHeatPoller\.test_poll_done|drivers\.test_heat_driver\.TestHeatPoller\.test_poll_destroy|api\.controllers\.v1\.test_baymodel\.TestPatch|api\.controllers\.v1\.test_baymodel\.TestPost|api\.controllers\.v1\.test_cluster_template\.TestPost|api\.controllers\.v1\.test_cluster_template\.TestListClusterTemplate|api\.controllers\.v1\.test_cluster_template\.TestPatch\.test_update_cluster_template_with_cluster_not_allow_update|api\.controllers\.v1\.test_federation\.TestListFederation\.test_collection_links|api\.controllers\.v1\.test_federation\.TestPost\.test_create_federation_with_valid_name)) ++ PYTHON=python3.12 ++ stestr run --parallel --subunit --concurrency 2 'magnum\.tests\.unit\.(?!(drivers\.test_heat_driver\.TestHeatPoller\.test_poll_done|drivers\.test_heat_driver\.TestHeatPoller\.test_poll_destroy|api\.controllers\.v1\.test_baymodel\.TestPatch|api\.controllers\.v1\.test_baymodel\.TestPost|api\.controllers\.v1\.test_cluster_template\.TestPost|api\.controllers\.v1\.test_cluster_template\.TestListClusterTemplate|api\.controllers\.v1\.test_cluster_template\.TestPatch\.test_update_cluster_template_with_cluster_not_allow_update|api\.controllers\.v1\.test_federation\.TestListFederation\.test_collection_links|api\.controllers\.v1\.test_federation\.TestPost\.test_create_federation_with_valid_name))' + subunit2pyunit 3 RLock(s) were not greened, to fix this error make sure you run eventlet.monkey_patch() before importing any other modules. 3 RLock(s) were not greened, to fix this error make sure you run eventlet.monkey_patch() before importing any other modules. 3 RLock(s) were not greened, to fix this error make sure you run eventlet.monkey_patch() before importing any other modules. -magnum.tests.unit.api.controllers.test_base.TestController.test_api_version_decorator -magnum.tests.unit.api.controllers.test_base.TestController.test_api_version_decorator ... ok -magnum.tests.unit.api.controllers.test_base.TestController.test_check_for_versions_intersection_negative -magnum.tests.unit.api.controllers.test_base.TestController.test_check_for_versions_intersection_negative ... ok -magnum.tests.unit.api.controllers.test_base.TestController.test_check_for_versions_intersection_positive -magnum.tests.unit.api.controllers.test_base.TestController.test_check_for_versions_intersection_positive ... ok -magnum.tests.unit.api.controllers.test_base.TestController.test_check_for_versions_intersection_shared_start_end -magnum.tests.unit.api.controllers.test_base.TestController.test_check_for_versions_intersection_shared_start_end ... ok -magnum.tests.unit.api.controllers.test_base.TestController.test_controller_get_attr_version_not_found -magnum.tests.unit.api.controllers.test_base.TestController.test_controller_get_attr_version_not_found ... ok -magnum.tests.unit.api.controllers.test_base.TestController.test_controller_get_attribute -magnum.tests.unit.api.controllers.test_base.TestController.test_controller_get_attribute ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test__eq__with_equal magnum.tests.unit.api.controllers.test_base.TestVersion.test__eq__with_equal ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test__eq__with_unequal @@ -5413,8 +5449,6 @@ magnum.tests.unit.api.controllers.test_base.TestVersion.test_is_null_false ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test_is_null_true magnum.tests.unit.api.controllers.test_base.TestVersion.test_is_null_true ... ok -INFO [alembic.runtime.migration] Context impl SQLiteImpl. -INFO [alembic.runtime.migration] Will assume non-transactional DDL. magnum.tests.unit.api.controllers.test_base.TestVersion.test_matches_end_version magnum.tests.unit.api.controllers.test_base.TestVersion.test_matches_end_version ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test_matches_null_version @@ -5427,7 +5461,6 @@ magnum.tests.unit.api.controllers.test_base.TestVersion.test_matches_version_too_high ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test_matches_version_too_low magnum.tests.unit.api.controllers.test_base.TestVersion.test_matches_version_too_low ... ok -INFO [alembic.runtime.migration] Running stamp_revision -> c0f832afc4fd magnum.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_bad_length magnum.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_bad_length ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_latest @@ -5440,79 +5473,216 @@ magnum.tests.unit.api.controllers.test_base.TestVersion.test_parse_no_header ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test_repr magnum.tests.unit.api.controllers.test_base.TestVersion.test_repr ... ok -magnum.tests.unit.api.controllers.v1.test_certificate.TestCertPolicyEnforcement.test_policy_disallow_create -magnum.tests.unit.api.controllers.v1.test_certificate.TestCertPolicyEnforcement.test_policy_disallow_create ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test_repr_with_strings magnum.tests.unit.api.controllers.test_base.TestVersion.test_repr_with_strings ... ok +magnum.tests.unit.api.controllers.test_base.TestController.test_api_version_decorator +magnum.tests.unit.api.controllers.test_base.TestController.test_api_version_decorator ... ok +magnum.tests.unit.api.controllers.test_base.TestController.test_check_for_versions_intersection_negative +magnum.tests.unit.api.controllers.test_base.TestController.test_check_for_versions_intersection_negative ... ok +INFO [alembic.runtime.migration] Context impl SQLiteImpl. +INFO [alembic.runtime.migration] Will assume non-transactional DDL. +magnum.tests.unit.api.controllers.test_base.TestController.test_check_for_versions_intersection_positive +magnum.tests.unit.api.controllers.test_base.TestController.test_check_for_versions_intersection_positive ... ok +magnum.tests.unit.api.controllers.test_base.TestController.test_check_for_versions_intersection_shared_start_end +magnum.tests.unit.api.controllers.test_base.TestController.test_check_for_versions_intersection_shared_start_end ... ok +magnum.tests.unit.api.controllers.test_base.TestController.test_controller_get_attr_version_not_found +magnum.tests.unit.api.controllers.test_base.TestController.test_controller_get_attr_version_not_found ... ok +INFO [alembic.runtime.migration] Running stamp_revision -> c0f832afc4fd +magnum.tests.unit.api.controllers.test_base.TestController.test_controller_get_attribute +magnum.tests.unit.api.controllers.test_base.TestController.test_controller_get_attribute ... ok +magnum.tests.unit.api.controllers.test_root.TestRootController.test_api_paste_file_not_exist +magnum.tests.unit.api.controllers.test_root.TestRootController.test_api_paste_file_not_exist ... ok magnum.tests.unit.api.controllers.test_root.TestCheckVersions.test_check_version_invalid_major_version magnum.tests.unit.api.controllers.test_root.TestCheckVersions.test_check_version_invalid_major_version ... ok magnum.tests.unit.api.controllers.test_root.TestCheckVersions.test_check_version_ok magnum.tests.unit.api.controllers.test_root.TestCheckVersions.test_check_version_ok ... ok -magnum.tests.unit.api.controllers.v1.test_certificate.TestCertPolicyEnforcement.test_policy_disallow_get_one -magnum.tests.unit.api.controllers.v1.test_certificate.TestCertPolicyEnforcement.test_policy_disallow_get_one ... ok +magnum.tests.unit.api.controllers.test_root.TestRootController.test_api_paste_file_not_exist_not_abs +magnum.tests.unit.api.controllers.test_root.TestRootController.test_api_paste_file_not_exist_not_abs ... ok magnum.tests.unit.api.controllers.test_root.TestCheckVersions.test_check_version_too_high magnum.tests.unit.api.controllers.test_root.TestCheckVersions.test_check_version_too_high ... ok magnum.tests.unit.api.controllers.test_root.TestCheckVersions.test_check_version_too_low magnum.tests.unit.api.controllers.test_root.TestCheckVersions.test_check_version_too_low ... ok +magnum.tests.unit.api.controllers.test_root.TestRootController.test_auth_with_no_public_routes +magnum.tests.unit.api.controllers.test_root.TestRootController.test_auth_with_no_public_routes ... ok +magnum.tests.unit.api.controllers.test_root.TestRootController.test_auth_with_root_access +magnum.tests.unit.api.controllers.test_root.TestRootController.test_auth_with_root_access ... ok +magnum.tests.unit.api.controllers.test_root.TestRootController.test_auth_with_v1_access +magnum.tests.unit.api.controllers.test_root.TestRootController.test_auth_with_v1_access ... ok +magnum.tests.unit.api.controllers.test_root.TestRootController.test_get_not_found +magnum.tests.unit.api.controllers.test_root.TestRootController.test_get_not_found ... ok +INFO [alembic.runtime.migration] Context impl SQLiteImpl. +INFO [alembic.runtime.migration] Will assume non-transactional DDL. +magnum.tests.unit.api.controllers.test_root.TestRootController.test_noauth +magnum.tests.unit.api.controllers.test_root.TestRootController.test_noauth ... ok +INFO [alembic.runtime.migration] Running stamp_revision -> c0f832afc4fd +magnum.tests.unit.api.controllers.test_root.TestRootController.test_v1_controller +magnum.tests.unit.api.controllers.test_root.TestRootController.test_v1_controller ... ok +magnum.tests.unit.api.controllers.test_root.TestHeathcheck.test_healthcheck_disable_file +magnum.tests.unit.api.controllers.test_root.TestHeathcheck.test_healthcheck_disable_file ... ok +magnum.tests.unit.api.controllers.test_root.TestRootController.test_version +magnum.tests.unit.api.controllers.test_root.TestRootController.test_version ... ok +magnum.tests.unit.api.controllers.test_root.TestHeathcheck.test_healthcheck_enabled +magnum.tests.unit.api.controllers.test_root.TestHeathcheck.test_healthcheck_enabled ... ok +magnum.tests.unit.api.controllers.test_root.TestV1Routing.test_route_checks_version +magnum.tests.unit.api.controllers.test_root.TestV1Routing.test_route_checks_version ... ok +magnum.tests.unit.api.controllers.v1.test_certificate.TestCertObject.test_cert_init +magnum.tests.unit.api.controllers.v1.test_certificate.TestCertObject.test_cert_init ... ok +magnum.tests.unit.api.controllers.v1.test_certificate.TestCertPolicyEnforcement.test_policy_disallow_create +magnum.tests.unit.api.controllers.v1.test_certificate.TestCertPolicyEnforcement.test_policy_disallow_create ... ok +magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one +magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one ... ok +magnum.tests.unit.api.controllers.v1.test_certificate.TestCertPolicyEnforcement.test_policy_disallow_get_one +magnum.tests.unit.api.controllers.v1.test_certificate.TestCertPolicyEnforcement.test_policy_disallow_get_one ... ok +magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one_by_name +magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one_by_name ... ok magnum.tests.unit.api.controllers.v1.test_certificate.TestCertPolicyEnforcement.test_policy_disallow_rotate magnum.tests.unit.api.controllers.v1.test_certificate.TestCertPolicyEnforcement.test_policy_disallow_rotate ... ok +magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one_by_name_multiple_cluster +magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one_by_name_multiple_cluster ... ok magnum.tests.unit.api.controllers.v1.test_certificate.TestPost.test_create_cert magnum.tests.unit.api.controllers.v1.test_certificate.TestPost.test_create_cert ... ok +magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one_by_name_not_found +magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one_by_name_not_found ... ok magnum.tests.unit.api.controllers.v1.test_certificate.TestPost.test_create_cert_by_cluster_name magnum.tests.unit.api.controllers.v1.test_certificate.TestPost.test_create_cert_by_cluster_name ... ok magnum.tests.unit.api.controllers.v1.test_certificate.TestPost.test_create_cert_cluster_not_found magnum.tests.unit.api.controllers.v1.test_certificate.TestPost.test_create_cert_cluster_not_found ... ok -INFO [alembic.runtime.migration] Context impl SQLiteImpl. -INFO [alembic.runtime.migration] Will assume non-transactional DDL. -INFO [alembic.runtime.migration] Running stamp_revision -> c0f832afc4fd +magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_links +magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_links ... ok magnum.tests.unit.api.controllers.v1.test_certificate.TestRotateCaCertificate.test_rotate_ca_cert magnum.tests.unit.api.controllers.v1.test_certificate.TestRotateCaCertificate.test_rotate_ca_cert ... ok -magnum.tests.unit.api.controllers.test_root.TestHeathcheck.test_healthcheck_disable_file -magnum.tests.unit.api.controllers.test_root.TestHeathcheck.test_healthcheck_disable_file ... ok magnum.tests.unit.api.controllers.v1.test_certificate.TestRotateCaCertificateNonTls.test_rotate_ca_cert_non_tls magnum.tests.unit.api.controllers.v1.test_certificate.TestRotateCaCertificateNonTls.test_rotate_ca_cert_non_tls ... ok -magnum.tests.unit.api.controllers.test_root.TestHeathcheck.test_healthcheck_enabled -magnum.tests.unit.api.controllers.test_root.TestHeathcheck.test_healthcheck_enabled ... ok -magnum.tests.unit.api.controllers.test_root.TestRootController.test_api_paste_file_not_exist -magnum.tests.unit.api.controllers.test_root.TestRootController.test_api_paste_file_not_exist ... ok -magnum.tests.unit.api.controllers.test_root.TestRootController.test_api_paste_file_not_exist_not_abs -magnum.tests.unit.api.controllers.test_root.TestRootController.test_api_paste_file_not_exist_not_abs ... ok -magnum.tests.unit.api.controllers.test_root.TestRootController.test_auth_with_no_public_routes -magnum.tests.unit.api.controllers.test_root.TestRootController.test_auth_with_no_public_routes ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterObject.test_cluster_init +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterObject.test_cluster_init ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster ... ok -magnum.tests.unit.api.controllers.test_root.TestRootController.test_auth_with_root_access -magnum.tests.unit.api.controllers.test_root.TestRootController.test_auth_with_root_access ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_create +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_create ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster_as_admin magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster_as_admin ... ok -magnum.tests.unit.api.controllers.test_root.TestRootController.test_auth_with_v1_access -magnum.tests.unit.api.controllers.test_root.TestRootController.test_auth_with_v1_access ... ok -magnum.tests.unit.api.controllers.test_root.TestRootController.test_get_not_found -magnum.tests.unit.api.controllers.test_root.TestRootController.test_get_not_found ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster_not_found magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_delete +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_delete ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_detail +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_detail ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster_with_name magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster_with_name ... ok -magnum.tests.unit.api.controllers.test_root.TestRootController.test_noauth -magnum.tests.unit.api.controllers.test_root.TestRootController.test_noauth ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_get_all +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_get_all ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster_with_name_not_found magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster_with_name_not_found ... ok -magnum.tests.unit.api.controllers.test_root.TestRootController.test_v1_controller -magnum.tests.unit.api.controllers.test_root.TestRootController.test_v1_controller ... ok -magnum.tests.unit.api.controllers.test_root.TestRootController.test_version -magnum.tests.unit.api.controllers.test_root.TestRootController.test_version ... ok -magnum.tests.unit.api.controllers.test_root.TestV1Routing.test_route_checks_version -magnum.tests.unit.api.controllers.test_root.TestV1Routing.test_route_checks_version ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_get_one +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_get_one ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_multiple_cluster_by_name magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_multiple_cluster_by_name ... ok -magnum.tests.unit.api.controllers.v1.test_certificate.TestCertObject.test_cert_init -magnum.tests.unit.api.controllers.v1.test_certificate.TestCertObject.test_cert_init ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_add_non_existent_property -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_add_non_existent_property ... ok -magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one -magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one ... ok -magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one_by_name -magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one_by_name ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_update +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_update ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_only_owner_delete +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_only_owner_delete ... ok +GET: /v1/ {} +GOT:{'id': 'v1', 'media_types': [{'base': 'application/json', 'type': 'application/vnd.openstack.magnum.v1+json'}], 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}, {'href': 'http://docs.openstack.org/developer/magnum/dev/api-spec-v1.html', 'rel': 'describedby', 'type': 'text/html'}], 'clustertemplates': [{'href': 'http://localhost/v1/clustertemplates/', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/', 'rel': 'bookmark'}], 'clusters': [{'href': 'http://localhost/v1/clusters/', 'rel': 'self'}, {'href': 'http://localhost/clusters/', 'rel': 'bookmark'}], 'quotas': [{'href': 'http://localhost/v1/quotas/', 'rel': 'self'}, {'href': 'http://localhost/quotas/', 'rel': 'bookmark'}], 'certificates': [{'href': 'http://localhost/v1/certificates/', 'rel': 'self'}, {'href': 'http://localhost/certificates/', 'rel': 'bookmark'}], 'mservices': [{'href': 'http://localhost/v1/mservices/', 'rel': 'self'}, {'href': 'http://localhost/mservices/', 'rel': 'bookmark'}], 'stats': [{'href': 'http://localhost/v1/stats/', 'rel': 'self'}, {'href': 'http://localhost/stats/', 'rel': 'bookmark'}], 'federations': [{'href': 'http://localhost/v1/federations/', 'rel': 'self'}, {'href': 'http://localhost/federations/', 'rel': 'bookmark'}], 'nodegroups': [{'href': 'http://localhost/v1/clusters/{cluster_id}/nodegroups', 'rel': 'self'}, {'href': 'http://localhost/clusters/{cluster_id}/nodegroups', 'rel': 'bookmark'}]} +GET: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} +GET: /v1/certificates/cluster1 {} +GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} +GET: /v1/certificates/test_cluster {} +GOT:Response: 409 Conflict +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Multiple clusters exist with same name", "detail": "Multiple clusters exist with same name. Please use the cluster uuid instead.", "links": []}]} +GET: /v1/certificates/not_found {} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not_found could not be found", "detail": "Cluster not_found could not be found.", "links": []}]} +GET: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} +GET: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} +GET: /certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} +PATCH: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} +DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 +GOT:Response: 204 No Content +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version + +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 could not be found", "detail": "Cluster 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 could not be found.", "links": []}]} +DELETE: /v1/clusters/278f9294-6d2e-4f51-8983-34a5a32b8af3 +GOT:Response: 204 No Content +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version + +DELETE: /v1/clusters/82ce4448-b538-4980-9450-8c4b2d8be5a5 +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 82ce4448-b538-4980-9450-8c4b2d8be5a5 could not be found", "detail": "Cluster 82ce4448-b538-4980-9450-8c4b2d8be5a5 could not be found.", "links": []}]} +DELETE: /v1/clusters/cluster1 +GOT:Response: 204 No Content +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version + +DELETE: /v1/clusters/not_found +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not_found could not be found", "detail": "Cluster not_found could not be found.", "links": []}]} +DELETE: /v1/clusters/test_cluster +GOT:Response: 409 Conflict +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Multiple clusters exist with same name", "detail": "Multiple clusters exist with same name. Please use the cluster uuid instead.", "links": []}]} +GET: /v1/clusters/?limit=3 {} +GOT:{'clusters': [{'uuid': 'bcdf2179-af4a-4474-b8e0-42ddeda864f0', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/bcdf2179-af4a-4474-b8e0-42ddeda864f0', 'rel': 'self'}, {'href': 'http://localhost/clusters/bcdf2179-af4a-4474-b8e0-42ddeda864f0', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'a4ef3a0a-ffaf-40fc-be32-98e73fb9bafe', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/a4ef3a0a-ffaf-40fc-be32-98e73fb9bafe', 'rel': 'self'}, {'href': 'http://localhost/clusters/a4ef3a0a-ffaf-40fc-be32-98e73fb9bafe', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '9221492f-a18f-4b55-9fb6-cac672a2b7cf', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/9221492f-a18f-4b55-9fb6-cac672a2b7cf', 'rel': 'self'}, {'href': 'http://localhost/clusters/9221492f-a18f-4b55-9fb6-cac672a2b7cf', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}], 'next': 'http://localhost/v1/clusters?sort_key=id&sort_dir=asc&limit=3&marker=9221492f-a18f-4b55-9fb6-cac672a2b7cf'}magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_collection_links +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_collection_links ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_collection_links_default_limit +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_collection_links_default_limit ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail_against_single +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail_against_single ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail_with_pagination_marker +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail_with_pagination_marker ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_empty +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_empty ... ok POST: /v1/certificates {'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'csr': 'fake-csr', 'pem': 'fake-pem'} GOT:Response: 403 Forbidden Content-Type: application/json @@ -5562,67 +5732,266 @@ Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Cluster not_found could not be found", "detail": "Cluster not_found could not be found.", "links": []}]} PATCH: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:Response: 202 Accepted +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -PATCH: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:Response: 400 Bad Request +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Rotating the CA certificate on a non-TLS cluster is not supported", "detail": "Rotating the CA certificate on a non-TLS cluster is not supported", "links": []}]} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Rotating the CA certificate on a non-TLS cluster is not supported", "detail": "Rotating the CA certificate on a non-TLS cluster is not supported", "links": []}]} +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:create to be performed", "detail": "Policy doesn't allow cluster:create to be performed.", "links": []}]} DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 -GOT:Response: 204 No Content +GOT:Response: 403 Forbidden +Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version - +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:delete to be performed", "detail": "Policy doesn't allow cluster:delete to be performed.", "links": []}]} +GET: /v1/clusters/de058184-d19a-4bc9-90ed-a964b8901a7e/detail {} +GOT:Response: 403 Forbidden +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:detail to be performed", "detail": "Policy doesn't allow cluster:detail to be performed.", "links": []}]} +GET: /v1/clusters {} +GOT:Response: 403 Forbidden +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:get_all to be performed", "detail": "Policy doesn't allow cluster:get_all to be performed.", "links": []}]} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:Response: 403 Forbidden +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:get to be performed", "detail": "Policy doesn't allow cluster:get to be performed.", "links": []}]} +PATCH: /v1/clusters/cluster_example_A [{'path': '/name', 'value': 'new_name', 'op': 'replace'}] +GOT:Response: 403 Forbidden +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:update to be performed", "detail": "Policy doesn't allow cluster:update to be performed.", "links": []}]} +DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 +GOT:Response: 403 Forbidden +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:delete to be performed", "detail": "Policy doesn't allow cluster:delete to be performed.", "links": []}]} GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:Response: 403 Forbidden +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:get to be performed", "detail": "Policy doesn't allow cluster:get to be performed.", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_only_owner_get_one +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_only_owner_get_one ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_only_owner_update +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_only_owner_update ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_master_nodegroup +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_master_nodegroup ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_node_count_greater_than_max +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_node_count_greater_than_max ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_node_count_less_than_min +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_node_count_less_than_min ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_nodegroup +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_nodegroup ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_all_with_all_projects +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_all_with_all_projects ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_zero_node_count +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_zero_node_count ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_zero_node_count_fail +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_zero_node_count_fail ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_as_admin +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_as_admin ... ok + +GET: /v1/clusters {} +GOT:{'clusters': [{'uuid': 'f1a0a6bc-e3b8-43e0-a374-6680b2469d3f', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/f1a0a6bc-e3b8-43e0-a374-6680b2469d3f', 'rel': 'self'}, {'href': 'http://localhost/clusters/f1a0a6bc-e3b8-43e0-a374-6680b2469d3f', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'ed6500c0-853b-4ea0-97f2-3ffc92072e59', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/ed6500c0-853b-4ea0-97f2-3ffc92072e59', 'rel': 'self'}, {'href': 'http://localhost/clusters/ed6500c0-853b-4ea0-97f2-3ffc92072e59', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '2138a830-62f9-48eb-be3b-925d7830d1f5', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/2138a830-62f9-48eb-be3b-925d7830d1f5', 'rel': 'self'}, {'href': 'http://localhost/clusters/2138a830-62f9-48eb-be3b-925d7830d1f5', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}], 'next': 'http://localhost/v1/clusters?sort_key=id&sort_dir=asc&limit=3&marker=2138a830-62f9-48eb-be3b-925d7830d1f5'} +GET: /v1/clusters/detail {} +GOT:{'clusters': [{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-16T22:53:51.364842+00:00', 'updated_at': None}]} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 could not be found", "detail": "Cluster 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 could not be found.", "links": []}]} -DELETE: /v1/clusters/472d04c0-8a42-49ef-a8bd-cb6f058d0bbd +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "The %(name)s resource %(id)s could not be found", "detail": "The %(name)s resource %(id)s could not be found.", "links": []}]} +GET: /v1/clusters/detail?limit=3&marker=2dcb499d-bee7-4ca6-a217-dff5fecd6b18 {} +GOT:{'clusters': [{'uuid': 'aa0b055d-4ab6-45b0-b018-9ccc3a6b07cd', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/aa0b055d-4ab6-45b0-b018-9ccc3a6b07cd', 'rel': 'self'}, {'href': 'http://localhost/clusters/aa0b055d-4ab6-45b0-b018-9ccc3a6b07cd', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-16T22:53:51.453955+00:00', 'updated_at': None}]} +GET: /v1/clusters {} +GOT:{'clusters': []} +GET: /v1/clusters {} +GOT:{'clusters': [{'uuid': '22d3cefa-f31e-47a4-b789-01cec70f74ad', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/22d3cefa-f31e-47a4-b789-01cec70f74ad', 'rel': 'self'}, {'href': 'http://localhost/clusters/22d3cefa-f31e-47a4-b789-01cec70f74ad', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '2bc92354-3b5c-4d63-ad2b-9855d6fc2f16', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/2bc92354-3b5c-4d63-ad2b-9855d6fc2f16', 'rel': 'self'}, {'href': 'http://localhost/clusters/2bc92354-3b5c-4d63-ad2b-9855d6fc2f16', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '06bd4afc-35f0-4317-9959-ebebe8125ef0', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/06bd4afc-35f0-4317-9959-ebebe8125ef0', 'rel': 'self'}, {'href': 'http://localhost/clusters/06bd4afc-35f0-4317-9959-ebebe8125ef0', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '0b4a86ef-ea7b-4f9e-b8e5-77a71b773e67', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/0b4a86ef-ea7b-4f9e-b8e5-77a71b773e67', 'rel': 'self'}, {'href': 'http://localhost/clusters/0b4a86ef-ea7b-4f9e-b8e5-77a71b773e67', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}]} +GET: /v1/clusters?limit=3&marker=3910f1d6-dfd2-4bea-833e-be7a05bbbc43 {} +GOT:{'clusters': [{'uuid': '89a96259-c34c-4901-9de2-273873deedc5', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/89a96259-c34c-4901-9de2-273873deedc5', 'rel': 'self'}, {'href': 'http://localhost/clusters/89a96259-c34c-4901-9de2-273873deedc5', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}]}magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_all_with_pagination_marker +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_all_with_pagination_marker ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name_multiple_cluster +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name_multiple_cluster ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name_not_found +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name_not_found ... ok + +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/name', 'value': 'new_name', 'op': 'replace'}] +GOT:Response: 403 Forbidden +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:update to be performed", "detail": "Policy doesn't allow cluster:update to be performed.", "links": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 6} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.7 +Vary: OpenStack-API-Version +{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 6, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-16T22:53:51.330646+00:00', 'updated_at': None} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 6, 'nodegroup': 'ab67821f-33b7-4dfa-8cdc-30f2a63d73d0'} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.9 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing a master nodegroup is not supported", "detail": "Resizing a master nodegroup is not supported.", "links": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 6, 'nodegroup': 'ad6a8f8e-fa87-40e7-a45a-1a05281c13b1'} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.9 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing test-worker outside the allowed range: min_node_count = 1, max_node_count = 5", "detail": "Resizing test-worker outside the allowed range: min_node_count = 1, max_node_count = 5", "links": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 3, 'nodegroup': 'b073113b-a0e6-41dd-944a-c19455f14f6d'} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.9 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing test-worker outside the allowed range: min_node_count = 4, max_node_count = None", "detail": "Resizing test-worker outside the allowed range: min_node_count = 4, max_node_count = None", "links": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 6, 'nodegroup': 'd765f7aa-af41-465c-9786-ddf9c76cf05a'} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.9 +Vary: OpenStack-API-Version +{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 6, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-16T22:53:51.502317+00:00', 'updated_at': None} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 0, 'nodegroup': '125eb12e-afe5-4e84-a1d0-affe40e8005d'} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.10 +Vary: OpenStack-API-Version +{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 0, 'nodegroup': 'a6c51e33-d52a-4f34-ae42-924a05213748'} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.9 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing a nodegroup to zero is not supported in the provided microversion", "detail": "Resizing a nodegroup to zero is not supported in the provided microversion.", "links": []}]} +DELETE: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT:Response: 204 No Content Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -DELETE: /v1/clusters/1873ffe7-54a8-4f1d-a0cb-22bb762e9d60 +GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 1873ffe7-54a8-4f1d-a0cb-22bb762e9d60 could not be found", "detail": "Cluster 1873ffe7-54a8-4f1d-a0cb-22bb762e9d60 could not be found.", "links": []}]} -DELETE: /v1/clusters/cluster1 +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "ClusterTemplate e74c40e0-d825-11e2-a28f-0800200c9a66 could not be found", "detail": "ClusterTemplate e74c40e0-d825-11e2-a28f-0800200c9a66 could not be found.", "links": []}]} +DELETE: /v1/clustertemplates/335e13be-3ee5-4dda-8a5b-dcece552f1bb GOT:Response: 204 No Content Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -DELETE: /v1/clusters/not_found +DELETE: /v1/clustertemplates/a723f7e3-af3c-4cac-8a56-e7f78a02551f GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not_found could not be found", "detail": "Cluster not_found could not be found.", "links": []}]} -DELETE: /v1/clusters/test_cluster +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "ClusterTemplate a723f7e3-af3c-4cac-8a56-e7f78a02551f could not be found", "detail": "ClusterTemplate a723f7e3-af3c-4cac-8a56-e7f78a02551f could not be found.", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_not_found +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_cluster +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_cluster ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_name +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_name ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_name_not_found +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_name_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_multiple_cluster_template_by_name +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_multiple_cluster_template_by_name ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid_admin +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid_admin ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation +magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid_not_found +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation_not_found +magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_failed_cluster +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_failed_cluster ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation_with_name +magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation_with_name ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation_with_name_not_found +magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation_with_name_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestFederationObject.test_federation_init +magnum.tests.unit.api.controllers.v1.test_federation.TestFederationObject.test_federation_init ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail_against_single +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail_against_single ... ok + +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-16T22:53:51.658127+00:00', 'updated_at': None} +GET: /v1/clusters/cluster1 {} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-16T22:53:51.702329+00:00', 'updated_at': None} +GET: /v1/clusters/test_cluster {} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 @@ -5630,156 +5999,287 @@ Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Multiple clusters exist with same name", "detail": "Multiple clusters exist with same name. Please use the cluster uuid instead.", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] -GOT:Response: 400 Bad Request +GET: /v1/clusters/not_found {} +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Adding a new attribute /foo to the root of the resource is not allowed", "detail": "Adding a new attribute /foo to the root of the resource is not allowed.", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/uuid', 'op': 'remove'}] -GOT:Response: 400 Bad Request +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not_found could not be found", "detail": "Cluster not_found could not be found.", "links": []}]} +GET: /v1/clusters/a3e5602a-733e-4e1f-aa6f-296685b9c417 {} +GOT:{'uuid': 'a3e5602a-733e-4e1f-aa6f-296685b9c417', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/a3e5602a-733e-4e1f-aa6f-296685b9c417', 'rel': 'self'}, {'href': 'http://localhost/clusters/a3e5602a-733e-4e1f-aa6f-296685b9c417', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-16T22:53:51.806733+00:00', 'updated_at': None} +GET: /v1/clusters/22109490-8be3-4a48-8ce9-99f9caf834fd {} +GOT:{'uuid': '22109490-8be3-4a48-8ce9-99f9caf834fd', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/22109490-8be3-4a48-8ce9-99f9caf834fd', 'rel': 'self'}, {'href': 'http://localhost/clusters/22109490-8be3-4a48-8ce9-99f9caf834fd', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': '22109490-8be3-4a48-8ce9-99f9caf834fd', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-16T22:53:51.852743+00:00', 'updated_at': None} +GET: /v1/clusters/7b719cc7-c166-44eb-ad11-68ce9b1327c2 {} +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/uuid' is an internal attribute and can not be updated", "detail": "'/uuid' is an internal attribute and can not be updated", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/cluster_template_id', 'op': 'remove'}] +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 7b719cc7-c166-44eb-ad11-68ce9b1327c2 could not be found", "detail": "Cluster 7b719cc7-c166-44eb-ad11-68ce9b1327c2 could not be found.", "links": []}]} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_FAILED', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'faults': {'test-master': 'fake_reason'}, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-16T22:53:51.927811+00:00', 'updated_at': None} +GET: /v1/clusters/d8518859-8375-452f-bed7-40cf56bd1438 {} +GOT:{'uuid': 'd8518859-8375-452f-bed7-40cf56bd1438', 'name': 'cluster1', 'cluster_template_id': 'ff0a0c74-76a4-4306-9a37-61985d81dff0', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {'label1': 'value3', 'label4': 'value4'}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/d8518859-8375-452f-bed7-40cf56bd1438', 'rel': 'self'}, {'href': 'http://localhost/clusters/d8518859-8375-452f-bed7-40cf56bd1438', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {'label1': 'value1'}, 'labels_added': {'label4': 'value4'}, 'labels_skipped': {'label2': 'value2'}, 'master_lb_enabled': True, 'created_at': '2025-01-16T22:53:52.110750+00:00', 'updated_at': None}magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_merged_labels +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_merged_labels ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_links +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_links ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail_with_pagination_marker +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail_with_pagination_marker ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_empty +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_empty ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_all_with_pagination_marker +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_all_with_pagination_marker ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_many +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_many ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_one +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_one ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name_multiple_federation +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name_multiple_federation ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_add_non_existent_property +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_add_non_existent_property ... ok + +DELETE: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/cluster_template_id' is a mandatory attribute and can not be removed", "detail": "'/cluster_template_id' is a mandatory attribute and can not be removed", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_mandatory_property_fail -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_mandatory_property_fail ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_non_existent_property -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_non_existent_property ... ok -magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one_by_name_multiple_cluster -magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one_by_name_multiple_cluster ... ok -magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one_by_name_not_found -magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one_by_name_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_links -magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_links ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_ok ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterObject.test_cluster_init -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterObject.test_cluster_init ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_cluster_name_failed -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_cluster_name_failed ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_create -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_create ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_delete -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_delete ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_cluster_template_id_failed -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_cluster_template_id_failed ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_detail -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_detail ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_get_all -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_get_all ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_get_one -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_get_one ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_health_status_ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_health_status_ok ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_update -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_update ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_invalid_node_count -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_invalid_node_count ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_only_owner_delete -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_only_owner_delete ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_non_existent_cluster -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_non_existent_cluster ... ok -GET: /v1/ {} -GOT:{'id': 'v1', 'media_types': [{'base': 'application/json', 'type': 'application/vnd.openstack.magnum.v1+json'}], 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}, {'href': 'http://docs.openstack.org/developer/magnum/dev/api-spec-v1.html', 'rel': 'describedby', 'type': 'text/html'}], 'clustertemplates': [{'href': 'http://localhost/v1/clustertemplates/', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/', 'rel': 'bookmark'}], 'clusters': [{'href': 'http://localhost/v1/clusters/', 'rel': 'self'}, {'href': 'http://localhost/clusters/', 'rel': 'bookmark'}], 'quotas': [{'href': 'http://localhost/v1/quotas/', 'rel': 'self'}, {'href': 'http://localhost/quotas/', 'rel': 'bookmark'}], 'certificates': [{'href': 'http://localhost/v1/certificates/', 'rel': 'self'}, {'href': 'http://localhost/certificates/', 'rel': 'bookmark'}], 'mservices': [{'href': 'http://localhost/v1/mservices/', 'rel': 'self'}, {'href': 'http://localhost/mservices/', 'rel': 'bookmark'}], 'stats': [{'href': 'http://localhost/v1/stats/', 'rel': 'self'}, {'href': 'http://localhost/stats/', 'rel': 'bookmark'}], 'federations': [{'href': 'http://localhost/v1/federations/', 'rel': 'self'}, {'href': 'http://localhost/federations/', 'rel': 'bookmark'}], 'nodegroups': [{'href': 'http://localhost/v1/clusters/{cluster_id}/nodegroups', 'rel': 'self'}, {'href': 'http://localhost/clusters/{cluster_id}/nodegroups', 'rel': 'bookmark'}]} -GET: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} -GET: /v1/certificates/cluster1 {} -GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} -GET: /v1/certificates/test_cluster {} +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "ClusterTemplate e74c40e0-d825-11e2-a28f-0800200c9a66 is referenced by one or multiple clusters", "detail": "ClusterTemplate e74c40e0-d825-11e2-a28f-0800200c9a66 is referenced by one or multiple clusters.", "links": []}]} +DELETE: /v1/clustertemplates/clustermodel1 +GOT:Response: 204 No Content +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version + +DELETE: /v1/clustertemplates/not_found +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "ClusterTemplate not_found could not be found", "detail": "ClusterTemplate not_found could not be found.", "links": []}]} +DELETE: /v1/clustertemplates/test_cluster_template GOT:Response: 409 Conflict Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Multiple clusters exist with same name", "detail": "Multiple clusters exist with same name. Please use the cluster uuid instead.", "links": []}]} -GET: /v1/certificates/not_found {} +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Multiple ClusterTemplates exist with same name", "detail": "Multiple ClusterTemplates exist with same name. Please use the ClusterTemplate uuid instead.", "links": []}]} +DELETE: /v1/federations/7fe14915-fdc1-4840-958a-a35561da7a61 +GOT:Response: 204 No Content +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version + +GET: /v1/federations/7fe14915-fdc1-4840-958a-a35561da7a61 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not_found could not be found", "detail": "Cluster not_found could not be found.", "links": []}]} -GET: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} -GET: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} -GET: /certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} -GOT:Response: 403 Forbidden +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation 7fe14915-fdc1-4840-958a-a35561da7a61 could not be found", "detail": "Federation 7fe14915-fdc1-4840-958a-a35561da7a61 could not be found.", "links": []}]} +DELETE: /v1/federations/beac6d22-3c08-40a6-a140-5c46b2310b24 +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:create to be performed", "detail": "Policy doesn't allow cluster:create to be performed.", "links": []}]} -DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 -GOT:Response: 403 Forbidden +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation beac6d22-3c08-40a6-a140-5c46b2310b24 could not be found", "detail": "Federation beac6d22-3c08-40a6-a140-5c46b2310b24 could not be found.", "links": []}]} +DELETE: /v1/federations/federation-example +GOT:Response: 204 No Content +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version + +DELETE: /v1/federations/foo +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:delete to be performed", "detail": "Policy doesn't allow cluster:delete to be performed.", "links": []}]} -GET: /v1/clusters/d4addb1e-a7c9-444f-9284-39ebb17a8a63/detail {} -GOT:Response: 403 Forbidden +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation foo could not be found", "detail": "Federation foo could not be found.", "links": []}]} +GET: /v1/federations/detail {} +GOT:{'federations': [{'uuid': '4d6d8df3-30b2-451a-90ce-eda555f12e3d', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/4d6d8df3-30b2-451a-90ce-eda555f12e3d', 'rel': 'self'}, {'href': 'http://localhost/federations/4d6d8df3-30b2-451a-90ce-eda555f12e3d', 'rel': 'bookmark'}], 'created_at': '2025-01-16T22:53:52.168075+00:00', 'updated_at': None}]} +GET: /v1/federations/a8c8a58b-38c1-40d9-8807-41ba1ee6882d/detail {} +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:detail to be performed", "detail": "Policy doesn't allow cluster:detail to be performed.", "links": []}]} +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "The %(name)s resource %(id)s could not be found", "detail": "The %(name)s resource %(id)s could not be found.", "links": []}]} +GET: /v1/federations/detail?limit=3&marker=b353ffdc-4557-4a15-a405-e1ea033e8f0b {} +GOT:{'federations': [{'uuid': '1af22553-390e-44f2-8582-9d83131e9a21', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/1af22553-390e-44f2-8582-9d83131e9a21', 'rel': 'self'}, {'href': 'http://localhost/federations/1af22553-390e-44f2-8582-9d83131e9a21', 'rel': 'bookmark'}], 'created_at': '2025-01-16T22:53:52.226955+00:00', 'updated_at': None}]} +GET: /v1/federations {} +GOT:{'federations': []} +GET: /v1/federations?limit=3&marker=fab56f52-0471-4f08-89ff-56f9ce99a393 {} +GOT:{'federations': [{'uuid': '88712cf4-35aa-474e-8836-f2f51204d61c', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/88712cf4-35aa-474e-8836-f2f51204d61c', 'rel': 'self'}, {'href': 'http://localhost/federations/88712cf4-35aa-474e-8836-f2f51204d61c', 'rel': 'bookmark'}]}]} +GET: /v1/federations/9ee7d61f-ef76-46d4-846f-43ebf4417610 {} +GOT:{'uuid': '9ee7d61f-ef76-46d4-846f-43ebf4417610', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/9ee7d61f-ef76-46d4-846f-43ebf4417610', 'rel': 'self'}, {'href': 'http://localhost/federations/9ee7d61f-ef76-46d4-846f-43ebf4417610', 'rel': 'bookmark'}], 'created_at': '2025-01-16T22:53:52.313225+00:00', 'updated_at': None} +GET: /v1/federations/fake-name {} +GOT:{'uuid': 'da65cb27-ae50-4f65-93fa-e11aba99bff3', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/da65cb27-ae50-4f65-93fa-e11aba99bff3', 'rel': 'self'}, {'href': 'http://localhost/federations/da65cb27-ae50-4f65-93fa-e11aba99bff3', 'rel': 'bookmark'}], 'created_at': '2025-01-16T22:53:52.339104+00:00', 'updated_at': None} +GET: /v1/federations/test_federation {} +GOT:Response: 409 Conflict +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Multiple federations exist with same name", "detail": "Multiple federations exist with same name. Please use the federation uuid instead.", "links": []}]} +GET: /v1/federations/not_found {} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation not_found could not be found", "detail": "Federation not_found could not be found.", "links": []}]}magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name_not_found +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_uuid +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_uuid ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_uuid_not_found +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_uuid_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_links +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_links ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_many +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_many ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_one +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_one ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_generate_uuid +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_generate_uuid ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_hostcluster_does_not_exist +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_hostcluster_does_not_exist ... ok + +GET: /v1/clusters/af063cde-5728-4d59-976f-5b4930eb52fa {} +GOT:{'uuid': 'af063cde-5728-4d59-976f-5b4930eb52fa', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/af063cde-5728-4d59-976f-5b4930eb52fa', 'rel': 'self'}, {'href': 'http://localhost/clusters/af063cde-5728-4d59-976f-5b4930eb52fa', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-16T22:53:52.155126+00:00', 'updated_at': None} +GET: /v1/clusters/af063cde-5728-4d59-976f-5b4930eb52fa {} +GOT:{'uuid': 'af063cde-5728-4d59-976f-5b4930eb52fa', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/af063cde-5728-4d59-976f-5b4930eb52fa', 'rel': 'self'}, {'href': 'http://localhost/clusters/af063cde-5728-4d59-976f-5b4930eb52fa', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-16T22:53:52.155126+00:00', 'updated_at': None} +GET: /clusters/af063cde-5728-4d59-976f-5b4930eb52fa {} +GOT:{'uuid': 'af063cde-5728-4d59-976f-5b4930eb52fa', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/af063cde-5728-4d59-976f-5b4930eb52fa', 'rel': 'self'}, {'href': 'http://localhost/clusters/af063cde-5728-4d59-976f-5b4930eb52fa', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-16T22:53:52.155126+00:00', 'updated_at': None} GET: /v1/clusters {} -GOT:Response: 403 Forbidden +GOT:{'clusters': [{'uuid': '07b43cb6-d7a7-4722-b0a2-30a4d6001781', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/07b43cb6-d7a7-4722-b0a2-30a4d6001781', 'rel': 'self'}, {'href': 'http://localhost/clusters/07b43cb6-d7a7-4722-b0a2-30a4d6001781', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'afc19f0b-978b-4479-8465-6577695c24e5', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/afc19f0b-978b-4479-8465-6577695c24e5', 'rel': 'self'}, {'href': 'http://localhost/clusters/afc19f0b-978b-4479-8465-6577695c24e5', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '81f2bf88-e3e7-4ef8-ad6d-86f10bb4edf5', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/81f2bf88-e3e7-4ef8-ad6d-86f10bb4edf5', 'rel': 'self'}, {'href': 'http://localhost/clusters/81f2bf88-e3e7-4ef8-ad6d-86f10bb4edf5', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '69b91dc4-b6c1-42a4-beed-38033aac7182', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/69b91dc4-b6c1-42a4-beed-38033aac7182', 'rel': 'self'}, {'href': 'http://localhost/clusters/69b91dc4-b6c1-42a4-beed-38033aac7182', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'eaa340b3-ae73-4d4c-8084-b963b87f2b12', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/eaa340b3-ae73-4d4c-8084-b963b87f2b12', 'rel': 'self'}, {'href': 'http://localhost/clusters/eaa340b3-ae73-4d4c-8084-b963b87f2b12', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}]} +GET: /v1/clusters {} +GOT:{'clusters': [{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:get_all to be performed", "detail": "Policy doesn't allow cluster:get_all to be performed.", "links": []}]} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:Response: 403 Forbidden +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Adding a new attribute /foo to the root of the resource is not allowed", "detail": "Adding a new attribute /foo to the root of the resource is not allowed.", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/uuid', 'op': 'remove'}]magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_mandatory_property_fail +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_mandatory_property_fail ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_non_existent_property +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_non_existent_property ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_ok ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_cluster_name_failed +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_cluster_name_failed ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_cluster_template_id_failed +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_cluster_template_id_failed ... ok + +GET: /v1/federations/1a242533-d16a-4ac9-9470-a667e6731502 {} +GOT:{'uuid': '1a242533-d16a-4ac9-9470-a667e6731502', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/1a242533-d16a-4ac9-9470-a667e6731502', 'rel': 'self'}, {'href': 'http://localhost/federations/1a242533-d16a-4ac9-9470-a667e6731502', 'rel': 'bookmark'}], 'created_at': '2025-01-16T22:53:52.415556+00:00', 'updated_at': None} +GET: /v1/federations/787ffae0-2410-43ea-ad6e-8dbd21edcc5c {} +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:get to be performed", "detail": "Policy doesn't allow cluster:get to be performed.", "links": []}]} -PATCH: /v1/clusters/cluster_example_A [{'path': '/name', 'value': 'new_name', 'op': 'replace'}] -GOT:Response: 403 Forbidden +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation 787ffae0-2410-43ea-ad6e-8dbd21edcc5c could not be found", "detail": "Federation 787ffae0-2410-43ea-ad6e-8dbd21edcc5c could not be found.", "links": []}]} +GET: /v1/federations/10307432-a6b3-4bc7-8264-931236dab79d {} +GOT:{'uuid': '10307432-a6b3-4bc7-8264-931236dab79d', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/10307432-a6b3-4bc7-8264-931236dab79d', 'rel': 'self'}, {'href': 'http://localhost/federations/10307432-a6b3-4bc7-8264-931236dab79d', 'rel': 'bookmark'}], 'created_at': '2025-01-16T22:53:52.463872+00:00', 'updated_at': None} +GET: /v1/federations/10307432-a6b3-4bc7-8264-931236dab79d {} +GOT:{'uuid': '10307432-a6b3-4bc7-8264-931236dab79d', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/10307432-a6b3-4bc7-8264-931236dab79d', 'rel': 'self'}, {'href': 'http://localhost/federations/10307432-a6b3-4bc7-8264-931236dab79d', 'rel': 'bookmark'}], 'created_at': '2025-01-16T22:53:52.463872+00:00', 'updated_at': None} +GET: /federations/10307432-a6b3-4bc7-8264-931236dab79d {} +GOT:{'uuid': '10307432-a6b3-4bc7-8264-931236dab79d', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/10307432-a6b3-4bc7-8264-931236dab79d', 'rel': 'self'}, {'href': 'http://localhost/federations/10307432-a6b3-4bc7-8264-931236dab79d', 'rel': 'bookmark'}], 'created_at': '2025-01-16T22:53:52.463872+00:00', 'updated_at': None} +GET: /v1/federations {} +GOT:{'federations': [{'uuid': 'c34b5d64-01eb-48b1-8a28-a2b109aac1c2', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/c34b5d64-01eb-48b1-8a28-a2b109aac1c2', 'rel': 'self'}, {'href': 'http://localhost/federations/c34b5d64-01eb-48b1-8a28-a2b109aac1c2', 'rel': 'bookmark'}]}, {'uuid': '822d142c-09ea-400c-98d1-10f084ba4b3d', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/822d142c-09ea-400c-98d1-10f084ba4b3d', 'rel': 'self'}, {'href': 'http://localhost/federations/822d142c-09ea-400c-98d1-10f084ba4b3d', 'rel': 'bookmark'}]}, {'uuid': 'adca7303-2b46-4ee8-9277-80ff081f16ed', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/adca7303-2b46-4ee8-9277-80ff081f16ed', 'rel': 'self'}, {'href': 'http://localhost/federations/adca7303-2b46-4ee8-9277-80ff081f16ed', 'rel': 'bookmark'}]}, {'uuid': '4fc6ed6d-d9bc-4222-af3e-75db9ec546b7', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/4fc6ed6d-d9bc-4222-af3e-75db9ec546b7', 'rel': 'self'}, {'href': 'http://localhost/federations/4fc6ed6d-d9bc-4222-af3e-75db9ec546b7', 'rel': 'bookmark'}]}, {'uuid': '8d95cab1-c2c2-435c-aae9-c732d1fd3880', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/8d95cab1-c2c2-435c-aae9-c732d1fd3880', 'rel': 'self'}, {'href': 'http://localhost/federations/8d95cab1-c2c2-435c-aae9-c732d1fd3880', 'rel': 'bookmark'}]}]} +GET: /v1/federations {} +GOT:{'federations': [{'uuid': '9c73a415-eb8c-4335-a2de-90bad79d6045', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/9c73a415-eb8c-4335-a2de-90bad79d6045', 'rel': 'self'}, {'href': 'http://localhost/federations/9c73a415-eb8c-4335-a2de-90bad79d6045', 'rel': 'bookmark'}]}]} +POST: /v1/federations {'uuid': '8e5033ff-7a28-492d-ac0e-3a8f15e9f3c4', 'name': 'fake-name', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:update to be performed", "detail": "Policy doesn't allow cluster:update to be performed.", "links": []}]} -DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 -GOT:Response: 403 Forbidden +{"uuid": "6cbfae39-a589-4dd5-8b24-81752c99d7fc"} +POST: /v1/federations {'name': 'fake-name', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:delete to be performed", "detail": "Policy doesn't allow cluster:delete to be performed.", "links": []}]} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {}magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_only_owner_get_one -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_only_owner_get_one ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_only_owner_update -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_only_owner_update ... ok +{"uuid": "db3f6ca7-4700-4436-887a-8e2f21a5e536"} +POST: /v1/federations {'uuid': '32565b05-1479-4a27-88f8-e11f3b91571d', 'name': 'fake-name', 'hostcluster_id': '15777204-46b6-40b3-96a2-9c21e2e2af0a', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 15777204-46b6-40b3-96a2-9c21e2e2af0a could not be found", "detail": "Cluster 15777204-46b6-40b3-96a2-9c21e2e2af0a could not be found.", "links": []}]} +POST: /v1/federations {'uuid': 'd52c46b8-a069-4aed-94a4-5f362de23bcd', 'name': 'fake-name', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Please specify a `properties` dict for the federation", "detail": "Please specify a `properties` dict for the federation.", "links": []}]}magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_no_dns_zone_name +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_no_dns_zone_name ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_no_hostcluster_id +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_no_hostcluster_id ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_with_invalid_name +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_with_invalid_name ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_health_status_ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_health_status_ok ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_without_name +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_without_name ... ok +magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceObject.test_msvc_obj_fields_filtering +magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceObject.test_msvc_obj_fields_filtering ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_invalid_node_count +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_invalid_node_count ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_by_name_not_found +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_by_name_not_found ... ok +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/uuid' is an internal attribute and can not be updated", "detail": "'/uuid' is an internal attribute and can not be updated", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/cluster_template_id', 'op': 'remove'}] +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/cluster_template_id' is a mandatory attribute and can not be removed", "detail": "'/cluster_template_id' is a mandatory attribute and can not be removed", "links": []}]} PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json @@ -5789,7 +6289,7 @@ Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Couldn't apply patch '[{'path': '/non-existent', 'op': 'remove'}]'", "detail": "Couldn't apply patch '[{'path': '/non-existent', 'op': 'remove'}]'. Reason: can't remove a non-existent object 'non-existent'", "links": []}]} GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'UNKNOWN', 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-19T05:12:15.764775+00:00', 'updated_at': None} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'UNKNOWN', 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-16T22:53:52.496336+00:00', 'updated_at': None} PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/node_count', 'op': 'remove'}] GOT:Response: 202 Accepted Content-Type: application/json @@ -5799,7 +6299,7 @@ Vary: OpenStack-API-Version {"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 1, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'UPDATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'UNKNOWN', 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-19T05:12:15.764775+00:00', 'updated_at': '2026-02-19T05:12:15.809113+00:00'} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 1, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'UPDATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'UNKNOWN', 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-16T22:53:52.496336+00:00', 'updated_at': '2025-01-16T22:53:52.555024+00:00'} PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/name', 'value': 'cluster_example_B', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json @@ -5808,7 +6308,7 @@ Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 400, "title": "cannot change cluster property(ies) name", "detail": "cannot change cluster property(ies) name.", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/cluster_template_id', 'value': '5bfea01f-6507-4101-ba13-f71644d02e31', 'op': 'replace'}] +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/cluster_template_id', 'value': '552d936b-601f-43a7-bd84-f77903011362', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 @@ -5825,7 +6325,7 @@ Vary: OpenStack-API-Version {"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 6, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'UPDATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'HEALTHY', 'health_status_reason': {'api': 'ok'}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4', '172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-19T05:12:15.912749+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 6, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'UPDATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'HEALTHY', 'health_status_reason': {'api': 'ok'}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4', '172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-16T22:53:52.702978+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/node_count', 'value': -1, 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json @@ -5834,107 +6334,158 @@ Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute node_count", "detail": "Invalid input for field/attribute node_count. Value: '-1'. Value should be greater or equal to 0", "links": []}]} -PATCH: /v1/clusters/1a1b764f-27f6-47df-b6f0-0a0871c8ccf2 [{'path': '/name', 'value': 'cluster_example_B', 'op': 'replace'}] -GOT:Response: 404 Not Found +PATCH: /v1/clusters/27d9981a-7957-43f6-9a16-a32dc91e36d2 [{'path': '/name', 'value': 'cluster_example_B', 'op': 'replace'}]magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_non_existent_cluster +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_non_existent_cluster ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_non_existent_cluster_template_id +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_non_existent_cluster_template_id ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok ... ok + +POST: /v1/federations {'uuid': '4a600d92-e95d-413b-ae5f-668282692a7b', 'name': 'fake-name', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 1a1b764f-27f6-47df-b6f0-0a0871c8ccf2 could not be found", "detail": "Cluster 1a1b764f-27f6-47df-b6f0-0a0871c8ccf2 could not be found.", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/cluster_template_id', 'value': '34f08f17-c896-4b77-8fdb-9222cf426fe8', 'op': 'replace'}] +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "No hostcluster specified", "detail": "No hostcluster specified. Please specify a hostcluster_id.", "links": []}]} +POST: /v1/federations {'uuid': '8efbcbd4-352a-4826-9ec2-4904ccc01fc6', 'name': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "cannot change cluster property(ies) cluster_template_id", "detail": "cannot change cluster property(ies) cluster_template_id.", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_non_existent_cluster_template_id -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_non_existent_cluster_template_id ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_collection_links -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_collection_links ... ok +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'. Value should have a maximum character requirement of 242", "links": []}]} +POST: /v1/federations {'uuid': 'cd3f591e-167f-4f03-b9d3-1eada75bd793', 'name': '123456', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: '123456'. Value should match the pattern ^[a-zA-Z][a-zA-Z0-9_.-]*$", "links": []}]} +POST: /v1/federations {'uuid': 'cdcc3033-0100-4961-83a9-0311ae6da9c3', 'name': '123456test_federation', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: '123456test_federation'. Value should match the pattern ^[a-zA-Z][a-zA-Z0-9_.-]*$", "links": []}]} +POST: /v1/federations {'uuid': 'f1fa6106-07c6-4eb1-8e19-d36dedb94853', 'name': '-test_federation', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: '-test_federation'. Value should match the pattern ^[a-zA-Z][a-zA-Z0-9_.-]*$", "links": []}]} +POST: /v1/federations {'uuid': '6aa9008c-5df7-4121-b997-9ba5983772c8', 'name': '.test_federation', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: '.test_federation'. Value should match the pattern ^[a-zA-Z][a-zA-Z0-9_.-]*$", "links": []}]} +POST: /v1/federations {'uuid': '01d72957-c84c-4d24-8fbb-557dd23d96cf', 'name': '_test_federation', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: '_test_federation'. Value should match the pattern ^[a-zA-Z][a-zA-Z0-9_.-]*$", "links": []}]} +POST: /v1/federations {'uuid': '750e9105-3da4-44ec-bb9e-5521fb603350', 'name': '', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: ''. Value should have a minimum character requirement of 1", "links": []}]} +POST: /v1/federations {'uuid': '02aec91a-1357-4a43-b844-9938190b1b38', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"uuid": "8f5a66bd-7166-4a23-8537-6835700926fe"} +DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/not-there +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup not-there could not be found", "detail": "Nodegroup not-there could not be found.", "links": []}]} +DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/6f16888a-1905-47fc-96d8-2bdbd693982f +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Deleting a default nodegroup is not supported", "detail": "Deleting a default nodegroup is not supported.", "links": []}]}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_default_nodegroup +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_default_nodegroup ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_nodegroup +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_nodegroup ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_nodegroup_as_admin +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_nodegroup_as_admin ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_nodegroup_by_name +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_nodegroup_by_name ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok_by_name magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok_by_name ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_collection_links_default_limit -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_collection_links_default_limit ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_not_found +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_not_found ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok_by_name_multiple_cluster magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok_by_name_multiple_cluster ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_wrong_microversion +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_wrong_microversion ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok_by_name_not_found magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok_by_name_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail_against_single -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail_against_single ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok_by_uuid_not_found magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok_by_uuid_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail_with_pagination_marker -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail_with_pagination_marker ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_as_admin +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_as_admin ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_as_admin magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_as_admin ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_empty -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_empty ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_name +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_name ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_rollback_disabled magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_rollback_disabled ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_name_non_default_ngs +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_name_non_default_ngs ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_rollback_enabled magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_rollback_enabled ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_non_existent_role +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_non_existent_role ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_zero_node_count +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_zero_node_count ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_role +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_role ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_non_existent_cluster +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_non_existent_cluster ... ok -GOT:Response: 403 Forbidden -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:get to be performed", "detail": "Policy doesn't allow cluster:get to be performed.", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/name', 'value': 'new_name', 'op': 'replace'}] -GOT:Response: 403 Forbidden +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:update to be performed", "detail": "Policy doesn't allow cluster:update to be performed.", "links": []}]} -GET: /v1/clusters/?limit=3 {} -GOT:{'clusters': [{'uuid': '5d8afa3a-7e31-449b-86e0-4814ad97239f', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d8afa3a-7e31-449b-86e0-4814ad97239f', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d8afa3a-7e31-449b-86e0-4814ad97239f', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'a6c03b5a-235a-49f7-b698-f32e91bc5c42', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/a6c03b5a-235a-49f7-b698-f32e91bc5c42', 'rel': 'self'}, {'href': 'http://localhost/clusters/a6c03b5a-235a-49f7-b698-f32e91bc5c42', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '50d7c782-5e1a-47e1-96cd-71d7bab4a991', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/50d7c782-5e1a-47e1-96cd-71d7bab4a991', 'rel': 'self'}, {'href': 'http://localhost/clusters/50d7c782-5e1a-47e1-96cd-71d7bab4a991', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}], 'next': 'http://localhost/v1/clusters?sort_key=id&sort_dir=asc&limit=3&marker=50d7c782-5e1a-47e1-96cd-71d7bab4a991'} -GET: /v1/clusters {} -GOT:{'clusters': [{'uuid': '59231d99-2c51-43cb-90df-300fe096a8e3', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/59231d99-2c51-43cb-90df-300fe096a8e3', 'rel': 'self'}, {'href': 'http://localhost/clusters/59231d99-2c51-43cb-90df-300fe096a8e3', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '1c0344fa-87f7-43d0-af1b-5e4e32e303a8', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/1c0344fa-87f7-43d0-af1b-5e4e32e303a8', 'rel': 'self'}, {'href': 'http://localhost/clusters/1c0344fa-87f7-43d0-af1b-5e4e32e303a8', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '42b5ae44-e750-4246-96f1-a3db7c9f19fc', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/42b5ae44-e750-4246-96f1-a3db7c9f19fc', 'rel': 'self'}, {'href': 'http://localhost/clusters/42b5ae44-e750-4246-96f1-a3db7c9f19fc', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}], 'next': 'http://localhost/v1/clusters?sort_key=id&sort_dir=asc&limit=3&marker=42b5ae44-e750-4246-96f1-a3db7c9f19fc'} -GET: /v1/clusters/detail {} -GOT:{'clusters': [{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-19T05:12:16.186463+00:00', 'updated_at': None}]} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/detail {} -GOT:Response: 404 Not Found +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 27d9981a-7957-43f6-9a16-a32dc91e36d2 could not be found", "detail": "Cluster 27d9981a-7957-43f6-9a16-a32dc91e36d2 could not be found.", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/cluster_template_id', 'value': '97601c9c-5241-4127-8866-e0fb36006426', 'op': 'replace'}] +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "The %(name)s resource %(id)s could not be found", "detail": "The %(name)s resource %(id)s could not be found.", "links": []}]} -GET: /v1/clusters/detail?limit=3&marker=0ec13d21-afb4-47e9-aafc-8715c91c17a5 {} -GOT:{'clusters': [{'uuid': 'ca4e5b9e-ca06-441d-af33-9b80662e0ab1', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/ca4e5b9e-ca06-441d-af33-9b80662e0ab1', 'rel': 'self'}, {'href': 'http://localhost/clusters/ca4e5b9e-ca06-441d-af33-9b80662e0ab1', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-19T05:12:16.248619+00:00', 'updated_at': None}]} -GET: /v1/clusters {} -GOT:{'clusters': []} -GET: /v1/clusters {} -GOT:{'clusters': [{'uuid': '61621980-05cb-4d6d-9be1-95d5787d2c5b', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/61621980-05cb-4d6d-9be1-95d5787d2c5b', 'rel': 'self'}, {'href': 'http://localhost/clusters/61621980-05cb-4d6d-9be1-95d5787d2c5b', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '0d9a8bda-89e4-4ba3-8df1-8229ab362a32', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/0d9a8bda-89e4-4ba3-8df1-8229ab362a32', 'rel': 'self'}, {'href': 'http://localhost/clusters/0d9a8bda-89e4-4ba3-8df1-8229ab362a32', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'dfabe6bd-d5b0-47b4-9f9a-7fcaac760b47', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/dfabe6bd-d5b0-47b4-9f9a-7fcaac760b47', 'rel': 'self'}, {'href': 'http://localhost/clusters/dfabe6bd-d5b0-47b4-9f9a-7fcaac760b47', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '3334f6aa-33d6-415d-8d7e-87891ba1408e', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/3334f6aa-33d6-415d-8d7e-87891ba1408e', 'rel': 'self'}, {'href': 'http://localhost/clusters/3334f6aa-33d6-415d-8d7e-87891ba1408e', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}]}magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_all_with_all_projects -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_all_with_all_projects ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_all_with_pagination_marker -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_all_with_pagination_marker ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_zero_node_count -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_zero_node_count ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_zero_node_count_fail -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_zero_node_count_fail ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name_multiple_cluster -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name_multiple_cluster ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name_not_found -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster ... ok - +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "cannot change cluster property(ies) cluster_template_id", "detail": "cannot change cluster property(ies) cluster_template_id.", "links": []}]} PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/node_count', 'value': 4, 'op': 'replace'}] GOT:Response: 202 Accepted Content-Type: application/json @@ -5944,7 +6495,7 @@ Vary: OpenStack-API-Version {"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 4, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'UPDATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'UNKNOWN', 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-19T05:12:16.062673+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 4, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'UPDATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'UNKNOWN', 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-16T22:53:52.915288+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} PATCH: /v1/clusters/cluster_example_A [{'path': '/node_count', 'value': 4, 'op': 'replace'}] GOT:Response: 202 Accepted Content-Type: application/json @@ -5954,7 +6505,7 @@ Vary: OpenStack-API-Version {"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 4, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'UPDATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'UNKNOWN', 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-19T05:12:16.118462+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 4, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'UPDATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'UNKNOWN', 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-16T22:53:52.992061+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} PATCH: /v1/clusters/test_cluster [{'path': '/name', 'value': 'test_cluster', 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json @@ -5971,22 +6522,22 @@ Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not_found could not be found", "detail": "Cluster not_found could not be found.", "links": []}]} -PATCH: /v1/clusters/1e0b1359-cf00-40e8-9b80-66c48b02922d [{'path': '/cluster_id', 'value': '1e0b1359-cf00-40e8-9b80-66c48b02922d', 'op': 'replace'}] +PATCH: /v1/clusters/a5061e87-7ae7-4281-a1ef-81d75486bfe8 [{'path': '/cluster_id', 'value': 'a5061e87-7ae7-4281-a1ef-81d75486bfe8', 'op': 'replace'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 1e0b1359-cf00-40e8-9b80-66c48b02922d could not be found", "detail": "Cluster 1e0b1359-cf00-40e8-9b80-66c48b02922d could not be found.", "links": []}]} -PATCH: /v1/clusters/53632abb-3bad-4e75-a5ea-0f4dfc46f30e [{'path': '/node_count', 'value': 4, 'op': 'replace'}] +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster a5061e87-7ae7-4281-a1ef-81d75486bfe8 could not be found", "detail": "Cluster a5061e87-7ae7-4281-a1ef-81d75486bfe8 could not be found.", "links": []}]} +PATCH: /v1/clusters/5d74fb5a-1aa8-42c4-88fe-2972c6cd3e66 [{'path': '/node_count', 'value': 4, 'op': 'replace'}] GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "53632abb-3bad-4e75-a5ea-0f4dfc46f30e"} +{"uuid": "5d74fb5a-1aa8-42c4-88fe-2972c6cd3e66"} PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/?rollback=False [{'path': '/node_count', 'value': 4, 'op': 'replace'}] GOT:Response: 202 Accepted Content-Type: application/json @@ -6018,87 +6569,140 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.9 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing a nodegroup to zero is not supported in the provided microversion", "detail": "Resizing a nodegroup to zero is not supported in the provided microversion.", "links": []}]} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} -GOT:Response: 202 Accepted +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing a nodegroup to zero is not supported in the provided microversion", "detail": "Resizing a nodegroup to zero is not supported in the provided microversion.", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_zero_node_count_fail +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_zero_node_count_fail ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_doesnt_contain_id +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_doesnt_contain_id ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_generate_uuid +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_generate_uuid ... ok + +DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 +GOT:Response: 204 No Content +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version + +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 {} +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup 483203a3-dbee-4a9c-9d65-9820512f4df8 could not be found", "detail": "Nodegroup 483203a3-dbee-4a9c-9d65-9820512f4df8 could not be found.", "links": []}]} +DELETE: /v1/clusters/76529b1f-8b4b-454d-bb8f-c61b4ba74e84/nodegroups/a3f49684-20db-4105-9893-f81ea3be8b59 +GOT:Response: 204 No Content +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"uuid": "e6b2e153-855d-47f3-89e8-cedfdc89c04c"} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_doesnt_contain_id -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_doesnt_contain_id ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_generate_uuid -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_generate_uuid ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_no_cluster_template_id -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_no_cluster_template_id ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid_admin -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid_admin ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid_not_found -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_resource_limit_reached -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_resource_limit_reached ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_set_project_id_and_user_id -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_set_project_id_and_user_id ... ok -GET: /v1/clusters?limit=3&marker=4d75cf21-0dab-42e8-aead-9480411f560f {} -GOT:{'clusters': [{'uuid': '73bb44f2-1a7e-403a-b97d-f5a3703757ff', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/73bb44f2-1a7e-403a-b97d-f5a3703757ff', 'rel': 'self'}, {'href': 'http://localhost/clusters/73bb44f2-1a7e-403a-b97d-f5a3703757ff', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}]} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-19T05:12:16.398659+00:00', 'updated_at': None} -GET: /v1/clusters/cluster1 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-19T05:12:16.430772+00:00', 'updated_at': None} -GET: /v1/clusters/test_cluster {} -GOT:Response: 409 Conflict +DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 +GOT:Response: 204 No Content +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version + +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 {} +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Multiple clusters exist with same name", "detail": "Multiple clusters exist with same name. Please use the cluster uuid instead.", "links": []}]} -GET: /v1/clusters/not_found {} +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup nodegroup1 could not be found", "detail": "Nodegroup nodegroup1 could not be found.", "links": []}]} +DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/2427ae18-93aa-4927-b8ec-b53330b09089 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not_found could not be found", "detail": "Cluster not_found could not be found.", "links": []}]} -GET: /v1/clusters/2a7c22c0-ee69-4c3b-993e-614ed53a5f8a {} -GOT:{'uuid': '2a7c22c0-ee69-4c3b-993e-614ed53a5f8a', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/2a7c22c0-ee69-4c3b-993e-614ed53a5f8a', 'rel': 'self'}, {'href': 'http://localhost/clusters/2a7c22c0-ee69-4c3b-993e-614ed53a5f8a', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-19T05:12:16.505869+00:00', 'updated_at': None} -GET: /v1/clusters/e0388607-8a64-4bf5-9515-671503c0f0a4 {} -GOT:{'uuid': 'e0388607-8a64-4bf5-9515-671503c0f0a4', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/e0388607-8a64-4bf5-9515-671503c0f0a4', 'rel': 'self'}, {'href': 'http://localhost/clusters/e0388607-8a64-4bf5-9515-671503c0f0a4', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'e0388607-8a64-4bf5-9515-671503c0f0a4', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-19T05:12:16.539344+00:00', 'updated_at': None} -GET: /v1/clusters/aa7cc2c5-6f97-4a8f-850b-723f6c873adc {} +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup 2427ae18-93aa-4927-b8ec-b53330b09089 could not be found", "detail": "Nodegroup 2427ae18-93aa-4927-b8ec-b53330b09089 could not be found.", "links": []}]} +DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 +GOT:Response: 406 Not Acceptable +Content-Type: application/json +{"errors": [{"request_id": "", "code": "", "status": 406, "title": "", "detail": "", "links": []}]} +GET: /v1/clusters/8b5fb3f2-c4f6-46c2-b231-c79ecb5449f3/nodegroups {} +GOT:{'nodegroups': [{'uuid': '7065089f-097d-462c-b774-6681ce623849', 'name': 'test-worker', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'worker', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}, {'uuid': '54f2a132-4897-47bd-b795-76fe554d43e6', 'name': 'test-master', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'master', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}]} +GET: /v1/clusters/0b2fead1-7027-4461-95a8-588b1d067f82/nodegroups {} +GOT:{'nodegroups': [{'uuid': 'af210cc0-5938-4bcd-8da6-2e43258616c0', 'name': 'test-worker', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'worker', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}, {'uuid': '399a6126-fdf0-4f1d-87fb-5fdaba3c9fee', 'name': 'test-master', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'master', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}]} +GET: /v1/clusters/cluster1/nodegroups {} +GOT:{'nodegroups': [{'uuid': '7134b784-d044-4366-9451-ce0433327ea1', 'name': 'test-worker', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'worker', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}, {'uuid': 'c33e9b6e-bf47-46de-aaf3-b7dc852fd98d', 'name': 'test-master', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'master', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}]} +GET: /v1/clusters/cluster1/nodegroups {} +GOT:{'nodegroups': [{'uuid': '715fb116-1fa5-4f2e-b1e2-367cf17e6298', 'name': 'test-worker', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'worker', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}, {'uuid': '4dbc9824-61b3-408a-aa78-beb332db5fb8', 'name': 'test-master', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'master', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}, {'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'non_default_ng', 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}]} +GET: /v1/clusters/cluster1/nodegroups?role=non-existent {} +GOT:{'nodegroups': []} +GET: /v1/clusters/cluster1/nodegroups?role=master {} +GOT:{'nodegroups': [{'uuid': '4c543691-d4b3-4a1a-8c51-b28f529bc693', 'name': 'test-master', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'master', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}]} +GET: /v1/clusters/cluster1/nodegroups?role=worker {} +GOT:{'nodegroups': [{'uuid': '3980ff43-84f5-4dd0-b767-1377def0e9a5', 'name': 'test-worker', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'worker', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}]} +GET: /v1/clusters/not-here/nodegroups {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster aa7cc2c5-6f97-4a8f-850b-723f6c873adc could not be found", "detail": "Cluster aa7cc2c5-6f97-4a8f-850b-723f6c873adc could not be found.", "links": []}]} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_FAILED', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'faults': {'test-master': 'fake_reason'}, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-19T05:12:16.667328+00:00', 'updated_at': None}magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_failed_cluster -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_failed_cluster ... ok +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not-here could not be found", "detail": "Cluster not-here could not be found.", "links": []}]} +GET: /v1/clusters/c5143a60-1f55-4b81-94be-66c0c1a28060/nodegroups?limit=1 {} +GOT:{'nodegroups': [{'uuid': 'ebee212d-011e-49e3-9485-3f83c2f3736b', 'name': 'test-worker', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'worker', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}], 'next': 'http://localhost/v1/clusters/c5143a60-1f55-4b81-94be-66c0c1a28060/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=ebee212d-011e-49e3-9485-3f83c2f3736b'} +GET: /v1/clusters/c5143a60-1f55-4b81-94be-66c0c1a28060/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=ebee212d-011e-49e3-9485-3f83c2f3736b {} +GOT:{'nodegroups': [{'uuid': 'df3b98ab-a94e-4c45-a133-b22437f69cf0', 'name': 'test-master', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'master', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}], 'next': 'http://localhost/v1/clusters/c5143a60-1f55-4b81-94be-66c0c1a28060/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=df3b98ab-a94e-4c45-a133-b22437f69cf0'}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_with_pagination_marker +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_with_pagination_marker ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_wrong_microversion +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_wrong_microversion ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_no_cluster_template_id +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_no_cluster_template_id ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_as_admin +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_as_admin ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_resource_limit_reached +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_resource_limit_reached ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_non_default +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_non_default ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_set_project_id_and_user_id +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_set_project_id_and_user_id ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_non_default_skipped_labels +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_non_default_skipped_labels ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_cinder_csi_disabled magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_cinder_csi_disabled ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_merged_labels -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_merged_labels ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_non_existent_ng +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_non_existent_ng ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_wrong_microversion +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_wrong_microversion ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_cluster_template_name magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_cluster_template_name ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_docker_volume_size -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_docker_volume_size ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_links -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_links ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_flavor_id -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_flavor_id ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestNodeGroupPolicyEnforcement.test_policy_disallow_get_all +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestNodeGroupPolicyEnforcement.test_policy_disallow_get_all ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestNodeGroupPolicyEnforcement.test_policy_disallow_get_one +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestNodeGroupPolicyEnforcement.test_policy_disallow_get_one ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestNodegroupObject.test_nodegroup_init +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestNodegroupObject.test_nodegroup_init ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota ... ok +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"uuid": "a1a1d0da-0ce7-4ca8-83ca-5550f6296173"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "2651e0ef-d27e-4c87-897c-9704cb849e0b"} +{"uuid": "5307c465-c45e-431c-bc72-3080529ae04e"} POST: /v1/clusters {'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -6106,7 +6710,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "635eb451-72d0-42ae-9a30-85efdcd6d132"} +{"uuid": "50560122-6915-419b-9d78-36a3c9ec71de"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 400 Bad Request Content-Type: application/json @@ -6122,7 +6726,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "bc8e3d18-4c5c-4e85-b872-91094515af51"} +{"uuid": "800ce695-d18c-4c1c-b7ca-88857dbc373b"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 403 Forbidden Content-Type: application/json @@ -6138,7 +6742,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "f5e3678f-17b3-42d4-bfe6-5b8f3415799b"} +{"uuid": "2a13a512-d98e-4909-a197-cf2d1f3a87d4"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': {'cinder_csi_enabled': 'false'}, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -6146,7 +6750,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "f82016ed-7ffd-4145-b620-0e5dedc71635"} +{"uuid": "669ad72e-d57c-4b7d-b9a9-0e2bccd8d9b1"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'clustermodel1', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -6154,7 +6758,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "4227b1b4-614a-4d88-ab10-be70bc37fde9"} +{"uuid": "8692a75a-1c20-48cf-a825-606923096ecc"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': 3, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -6162,42 +6766,116 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "75229840-ba0b-4100-957b-2fbe1425cd4f"} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': 'm2.small', 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "32ca51f8-406e-457a-ac5a-a2926cb9ccaa"} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': -1, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_docker_volume_size +{"uuid": "df3e5e4d-b8e7-4af9-a11c-03b8f5759052"}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_docker_volume_size +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_docker_volume_size ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_flavor_id +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_flavor_id ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_docker_volume_size magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_docker_volume_size ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_invalid_hard_limit +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_invalid_hard_limit ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_ext_network magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_ext_network ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_flavor magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_flavor ... ok -GET: /v1/clusters/2c72e23e-b7dd-4626-afc1-ef5c8a85fa5c {} -GOT:{'uuid': '2c72e23e-b7dd-4626-afc1-ef5c8a85fa5c', 'name': 'cluster1', 'cluster_template_id': 'a92e54e5-b597-4d9f-bb31-430704b93b8a', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {'label1': 'value3', 'label4': 'value4'}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/2c72e23e-b7dd-4626-afc1-ef5c8a85fa5c', 'rel': 'self'}, {'href': 'http://localhost/clusters/2c72e23e-b7dd-4626-afc1-ef5c8a85fa5c', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {'label1': 'value1'}, 'labels_added': {'label4': 'value4'}, 'labels_skipped': {'label2': 'value2'}, 'master_lb_enabled': True, 'created_at': '2026-02-19T05:12:16.704121+00:00', 'updated_at': None} -GET: /v1/clusters/1d0fcb3b-12c9-4500-b83e-d466d0c445f8 {} -GOT:{'uuid': '1d0fcb3b-12c9-4500-b83e-d466d0c445f8', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/1d0fcb3b-12c9-4500-b83e-d466d0c445f8', 'rel': 'self'}, {'href': 'http://localhost/clusters/1d0fcb3b-12c9-4500-b83e-d466d0c445f8', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-19T05:12:16.737082+00:00', 'updated_at': None} -GET: /v1/clusters/1d0fcb3b-12c9-4500-b83e-d466d0c445f8 {} -GOT:{'uuid': '1d0fcb3b-12c9-4500-b83e-d466d0c445f8', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/1d0fcb3b-12c9-4500-b83e-d466d0c445f8', 'rel': 'self'}, {'href': 'http://localhost/clusters/1d0fcb3b-12c9-4500-b83e-d466d0c445f8', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-19T05:12:16.737082+00:00', 'updated_at': None} -GET: /clusters/1d0fcb3b-12c9-4500-b83e-d466d0c445f8 {} -GOT:{'uuid': '1d0fcb3b-12c9-4500-b83e-d466d0c445f8', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/1d0fcb3b-12c9-4500-b83e-d466d0c445f8', 'rel': 'self'}, {'href': 'http://localhost/clusters/1d0fcb3b-12c9-4500-b83e-d466d0c445f8', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-19T05:12:16.737082+00:00', 'updated_at': None} -GET: /v1/clusters {} -GOT:{'clusters': [{'uuid': '539469f7-ef90-4717-ad17-86350026a38b', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/539469f7-ef90-4717-ad17-86350026a38b', 'rel': 'self'}, {'href': 'http://localhost/clusters/539469f7-ef90-4717-ad17-86350026a38b', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '2c6cab8e-15eb-44a4-b0ee-13ca08f6e699', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/2c6cab8e-15eb-44a4-b0ee-13ca08f6e699', 'rel': 'self'}, {'href': 'http://localhost/clusters/2c6cab8e-15eb-44a4-b0ee-13ca08f6e699', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '3a6ce897-ab7c-4669-a30b-56753c6f2c57', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/3a6ce897-ab7c-4669-a30b-56753c6f2c57', 'rel': 'self'}, {'href': 'http://localhost/clusters/3a6ce897-ab7c-4669-a30b-56753c6f2c57', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '4b0bf032-7572-4686-b296-816a384a04a6', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/4b0bf032-7572-4686-b296-816a384a04a6', 'rel': 'self'}, {'href': 'http://localhost/clusters/4b0bf032-7572-4686-b296-816a384a04a6', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '13ad99af-1583-41f2-9161-92aa89901082', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/13ad99af-1583-41f2-9161-92aa89901082', 'rel': 'self'}, {'href': 'http://localhost/clusters/13ad99af-1583-41f2-9161-92aa89901082', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}]}magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_many -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_many ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_one -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_one ... ok +GET: /v1/clusters/c5143a60-1f55-4b81-94be-66c0c1a28060/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=df3b98ab-a94e-4c45-a133-b22437f69cf0 {} +GOT:{'nodegroups': []} +GET: /v1/clusters/94b41efa-f9b9-4451-b40d-d8350196b723/nodegroups/ {} +GOT:Response: 406 Not Acceptable +Content-Type: application/json +{"errors": [{"request_id": "", "code": "", "status": 406, "title": "", "detail": "", "links": []}]} +GET: /v1/clusters/86de0f5a-a676-4cb7-9828-a3f726c27974/nodegroups/813b3b93-e484-4fdd-8e54-062c3be4fe69 {} +GOT:{'id': 1, 'uuid': '813b3b93-e484-4fdd-8e54-062c3be4fe69', 'name': 'test-worker', 'cluster_id': '86de0f5a-a676-4cb7-9828-a3f726c27974', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/86de0f5a-a676-4cb7-9828-a3f726c27974/nodegroups/813b3b93-e484-4fdd-8e54-062c3be4fe69', 'rel': 'self'}, {'href': 'http://localhost/clusters/86de0f5a-a676-4cb7-9828-a3f726c27974/nodegroups/813b3b93-e484-4fdd-8e54-062c3be4fe69', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': 'test_image', 'node_addresses': ['172.17.2.4'], 'node_count': 3, 'role': 'worker', 'min_node_count': 1, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2025-01-16T22:53:53.563803+00:00', 'updated_at': None} +GET: /v1/clusters/25a87da6-f506-40d1-ba99-5e675cb0bf8c/nodegroups/6c2bdf9a-fe11-4940-a56e-7c6c01d48da4 {} +GOT:{'id': 3, 'uuid': '6c2bdf9a-fe11-4940-a56e-7c6c01d48da4', 'name': 'test-worker', 'cluster_id': '25a87da6-f506-40d1-ba99-5e675cb0bf8c', 'project_id': '25a87da6-f506-40d1-ba99-5e675cb0bf8c', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/25a87da6-f506-40d1-ba99-5e675cb0bf8c/nodegroups/6c2bdf9a-fe11-4940-a56e-7c6c01d48da4', 'rel': 'self'}, {'href': 'http://localhost/clusters/25a87da6-f506-40d1-ba99-5e675cb0bf8c/nodegroups/6c2bdf9a-fe11-4940-a56e-7c6c01d48da4', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': 'test_image', 'node_addresses': ['172.17.2.4'], 'node_count': 3, 'role': 'worker', 'min_node_count': 1, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2025-01-16T22:53:53.619335+00:00', 'updated_at': None} +GET: /v1/clusters/7b8af40a-f8cf-4403-b3bc-11b8cfdcc811/nodegroups/non_default_ng {} +GOT:{'id': 3, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'non_default_ng', 'cluster_id': '7b8af40a-f8cf-4403-b3bc-11b8cfdcc811', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {'label1': 'value3', 'label2': 'value2', 'label4': 'value4'}, 'links': [{'href': 'http://localhost/v1/clusters/7b8af40a-f8cf-4403-b3bc-11b8cfdcc811/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/7b8af40a-f8cf-4403-b3bc-11b8cfdcc811/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 3, 'role': 'worker', 'min_node_count': 1, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {'label1': 'value1'}, 'labels_added': {'label4': 'value4'}, 'labels_skipped': {}, 'created_at': '2025-01-16T22:53:53.672288+00:00', 'updated_at': None} +GET: /v1/clusters/db3341c6-57af-4d4d-a722-b7a5d5ea02e4/nodegroups/non_default_ng {} +GOT:{'id': 3, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'non_default_ng', 'cluster_id': 'db3341c6-57af-4d4d-a722-b7a5d5ea02e4', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {'label1': 'value3', 'label4': 'value4'}, 'links': [{'href': 'http://localhost/v1/clusters/db3341c6-57af-4d4d-a722-b7a5d5ea02e4/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/db3341c6-57af-4d4d-a722-b7a5d5ea02e4/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 3, 'role': 'worker', 'min_node_count': 1, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {'label1': 'value1'}, 'labels_added': {'label4': 'value4'}, 'labels_skipped': {'label2': 'value2'}, 'created_at': '2025-01-16T22:53:53.714591+00:00', 'updated_at': None} +GET: /v1/clusters/296e2212-5ac8-4b47-acaf-db453e2ca66e/nodegroups/not-here {} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup not-here could not be found", "detail": "Nodegroup not-here could not be found.", "links": []}]} +GET: /v1/clusters/ece6989a-5724-4c90-8f87-27f02340a02f/nodegroups/75f0bfb3-f87c-4188-bacd-1c9867dde75d {} +GOT:Response: 406 Not Acceptable +Content-Type: application/json +{"errors": [{"request_id": "", "code": "", "status": 406, "title": "", "detail": "", "links": []}]} +GET: /v1/clusters/3414bce2-ae66-4861-b5b9-55c6b3be57a8/nodegroups {} +GOT:Response: 403 Forbidden +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow nodegroup:get_all to be performed", "detail": "Policy doesn't allow nodegroup:get_all to be performed.", "links": []}]} +GET: /v1/clusters/bafce2e3-57b2-441b-9c7c-000df8dd33cc/nodegroups/31b49dfc-0b04-4ec3-a406-fa5365ee8b8f {} +GOT:Response: 403 Forbidden +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow nodegroup:get to be performed", "detail": "Policy doesn't allow nodegroup:get to be performed.", "links": []}]} +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} +GOT:Response: 201 Created +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-01-16T22:53:53.908688+00:00", "updated_at": null} +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': -10} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute hard_limit", "detail": "Invalid input for field/attribute hard_limit. Value: '-10'. Value should be greater or equal to 0", "links": []}]} +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'invalid-res', 'hard_limit': 10} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute resource", "detail": "Invalid input for field/attribute resource. Value: 'invalid-res'. Value should be one of: Cluster", "links": []}]}magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_invalid_resource +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_invalid_resource ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_no_project_id +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_no_project_id ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_project_id_not_found +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_project_id_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_zero_quota +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_zero_quota ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_keypair magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_keypair ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_master_nodegroup -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_master_nodegroup ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_delete_quota +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_delete_quota ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_empty +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_empty ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_tenants +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_tenants ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_tenants_false +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_tenants_false ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_with_pagination_marker +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_with_pagination_marker ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_not_all_tenants +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_not_all_tenants ... ok +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': 'm2.small', 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"uuid": "824dc51a-48cd-4abb-9e01-eead8f275c98"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': -1, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 @@ -6253,22 +6931,22 @@ Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 404, "title": "test-key", "detail": "test-key", "links": []}]} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': 'invalid', 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': 'invalid', 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_labels +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_labels ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_non_admin +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_non_admin ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_with_non_admin_context +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_with_non_admin_context ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_with_pagination_limit +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_with_pagination_limit ... ok + GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute cluster", "detail": "Invalid input for field/attribute cluster. Value: '{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': 'invalid', 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False}'. Value not a valid dict: invalid", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_labels -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_labels ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_name -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_name ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_node_count_greater_than_max -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_node_count_greater_than_max ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_node_count_less_than_min -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_node_count_less_than_min ... ok - +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute cluster", "detail": "Invalid input for field/attribute cluster. Value: '{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': 'invalid', 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False}'. Value not a valid dict: invalid", "links": []}]} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 400 Bad Request Content-Type: application/json @@ -6324,144 +7002,67 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: ''. Value should have a minimum character requirement of 1", "links": []}]} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False, 'keypair': 'keypair2'} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "c8e74757-f1e0-4e6b-b078-81a4a531ddca"}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_keypair +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: ''. Value should have a minimum character requirement of 1", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_name +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_name ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_keypair magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_keypair ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_labels magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_labels ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_master_count_zero magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_master_count_zero ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_nodegroup -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_nodegroup ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_master_flavor_id magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_master_flavor_id ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_zero_node_count -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_zero_node_count ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_merge_labels magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_merge_labels ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_zero_node_count_fail -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_zero_node_count_fail ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_no_config_default +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_no_config_default ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_not_authorized +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_not_authorized ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_with_config_default +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_with_config_default ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_one +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_one ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_patch_quota +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_patch_quota ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_patch_quota_not_found +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_patch_quota_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_invalid_single_dns +magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_invalid_single_dns ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_merge_labels_no_labels magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_merge_labels_no_labels ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_valid_multi_dns +magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_valid_multi_dns ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_valid_single_dns +magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_valid_single_dns ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_multi_images_same_name magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_multi_images_same_name ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_multi_keypair_same_name magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_multi_keypair_same_name ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_cluster_as_admin -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_cluster_as_admin ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_add_internal_attr +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_add_internal_attr ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_lb_multi_node magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_lb_multi_node ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_cluster_not_found -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_cluster_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_lb_one_node -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_lb_one_node ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_add_with_no_value +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_add_with_no_value ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_extra_non_removable_attr +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_extra_non_removable_attr ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_internal_attr +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_internal_attr ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_mandatory_attr +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_mandatory_attr ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_replace_with_no_value +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_replace_with_no_value ... ok -GET: /v1/clusters {} -GOT:{'clusters': [{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}]} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 6} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.7 -Vary: OpenStack-API-Version -{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 6, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-19T05:12:16.896582+00:00', 'updated_at': None} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 6, 'nodegroup': 'a5e587fa-31f4-4d94-aec7-29b12057362e'} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing a master nodegroup is not supported", "detail": "Resizing a master nodegroup is not supported.", "links": []}]} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 6, 'nodegroup': '7ded748c-ae5f-4416-b82f-4700cb323a5a'} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing test-worker outside the allowed range: min_node_count = 1, max_node_count = 5", "detail": "Resizing test-worker outside the allowed range: min_node_count = 1, max_node_count = 5", "links": []}]} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 3, 'nodegroup': '14e9b679-0d0b-4f85-bd01-6454b7d47c9f'} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing test-worker outside the allowed range: min_node_count = 4, max_node_count = None", "detail": "Resizing test-worker outside the allowed range: min_node_count = 4, max_node_count = None", "links": []}]} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 6, 'nodegroup': '6dc1fff1-1605-4739-9f21-baf85e1ca1cb'} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 -Vary: OpenStack-API-Version -{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 6, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-19T05:12:17.021224+00:00', 'updated_at': None} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 0, 'nodegroup': '7623b4af-84fb-46f8-8563-1c217ee204ca'} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.10 -Vary: OpenStack-API-Version -{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 0, 'nodegroup': '67e5dd43-aa01-4145-9c93-0ec49d69f5ab'} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing a nodegroup to zero is not supported in the provided microversion", "detail": "Resizing a nodegroup to zero is not supported in the provided microversion.", "links": []}]} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'test_2'} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.8 -Vary: OpenStack-API-Version -{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -POST: /v1/clusters/e36414d6-1210-4635-b9e1-8c52f8c407a4/actions/upgrade {'cluster_template': 'test_2'} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False, 'keypair': 'keypair2'} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.8 -Vary: OpenStack-API-Version -{"uuid": "e36414d6-1210-4635-b9e1-8c52f8c407a4"} -POST: /v1/clusters/not_there/actions/upgrade {'cluster_template': 'test_2'} -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.8 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not_there could not be found", "detail": "Cluster not_there could not be found.", "links": []}]} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'not_there'}magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_ct_not_found -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_ct_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_default_master -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_default_master ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_default_worker -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_default_worker ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_ng_not_found -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_ng_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_non_default_ng -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_non_default_ng ... ok - +{"uuid": "0d6890ea-9aa9-4453-adc6-1672fbdc1979"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': {'key': 'value'}, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -6469,7 +7070,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "7cc9caa2-d955-40a8-9c02-74abbef67d13"} +{"uuid": "32125f01-46e9-4fdb-8fd1-249d3308db80"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 0, 'merge_labels': False} GOT:Response: 400 Bad Request Content-Type: application/json @@ -6485,7 +7086,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "1accacb1-9be4-47e6-ade0-ce26f96b879b"} +{"uuid": "1e0d1d3a-5221-4076-aa71-bf563c4d739c"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': {'label2': 'value3', 'label4': 'value4'}, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': True} GOT:Response: 202 Accepted Content-Type: application/json @@ -6493,7 +7094,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "9e709294-3273-4ab9-a462-ca24b7f287b2"} +{"uuid": "fbf1c9c9-2565-4317-b741-463364710a40"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': True} GOT:Response: 202 Accepted Content-Type: application/json @@ -6501,7 +7102,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "485ce414-f1da-4953-9248-041bc58d8c3b"} +{"uuid": "ccd70f7f-ecc7-42ff-8c5f-d0c29880115f"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 409 Conflict Content-Type: application/json @@ -6526,46 +7127,56 @@ Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 400, "title": "master_count must be 1 when master_lb_enabled is False", "detail": "master_count must be 1 when master_lb_enabled is False", "links": []}]} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'foo', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 1, 'merge_labels': False} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "fcd7b82b-161d-4682-8404-1d31b83ffbca"} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'merge_labels': False}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_master_count +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'foo', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 1, 'merge_labels': False}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_lb_one_node +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_lb_one_node ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_master_count magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_master_count ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_update_internal_attr +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_update_internal_attr ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_node_count magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_node_count ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_invalid_op +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_invalid_op ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_invalid_path +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_invalid_path ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_timeout magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_timeout ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_missing_required_fields_op +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_missing_required_fields_op ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_node_count_negative magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_node_count_negative ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_missing_required_fields_path +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_missing_required_fields_path ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_non_existent_cluster_template_id magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_non_existent_cluster_template_id ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_update_mandatory_attr +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_update_mandatory_attr ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_valid_patches +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_valid_patches ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_non_existent_cluster_template_name magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_non_existent_cluster_template_name ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_frombasetype +magnum.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_frombasetype ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_frombasetype_no_value +magnum.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_frombasetype_no_value ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_nonexist_image magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_nonexist_image ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_non_default_ng_invalid_ct -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_non_default_ng_invalid_ct ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplateObject.test_cluster_template_init -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplateObject.test_cluster_template_init ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_invalid_mac_addr +magnum.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_invalid_mac_addr ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_on_os_distro_image magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_on_os_distro_image ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_create -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_create ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_timeout_negative -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_timeout_negative ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_delete -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_delete ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_detail -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_detail ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_get_all -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_get_all ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_get_one -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_get_one ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_valid_mac_addr +magnum.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_valid_mac_addr ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_frombasetype +magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_frombasetype ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_frombasetype_no_value +magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_frombasetype_no_value ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_invalid_name +magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_invalid_name ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_valid_name +magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_valid_name ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestUuidType.test_invalid_uuid +magnum.tests.unit.api.controllers.v1.test_types.TestUuidType.test_invalid_uuid ... ok GOT:Response: 202 Accepted Content-Type: application/json @@ -6573,7 +7184,15 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "ed45b415-7498-467b-bb83-267990b2bde6"} +{"uuid": "06127847-5ecd-44aa-bbea-12cb03a7488e"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'merge_labels': False} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"uuid": "0819fe6a-884d-456c-b818-ded89ef58c05"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -6581,7 +7200,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "5cb69aed-4c9a-4f26-a349-79079cdabc54"} +{"uuid": "4470f012-852d-4bb0-8ce0-1de5933ce43b"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -6589,7 +7208,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "490a09e0-98e4-4f0f-b654-eb5396431e8c"} +{"uuid": "72d1f7a8-04a6-4972-a48a-92b07630dbd4"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': -1, 'master_count': 3, 'merge_labels': False} GOT:Response: 400 Bad Request Content-Type: application/json @@ -6598,14 +7217,14 @@ Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute node_count", "detail": "Invalid input for field/attribute node_count. Value: '-1'. Value should be greater or equal to 0", "links": []}]} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': '2c6babac-777a-4985-8096-dad9b194410f', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'ce7c394b-8ae3-48c6-966e-8e211dc17270', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "ClusterTemplate 2c6babac-777a-4985-8096-dad9b194410f could not be found", "detail": "ClusterTemplate 2c6babac-777a-4985-8096-dad9b194410f could not be found.", "links": []}]} +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "ClusterTemplate ce7c394b-8ae3-48c6-966e-8e211dc17270 could not be found", "detail": "ClusterTemplate ce7c394b-8ae3-48c6-966e-8e211dc17270 could not be found.", "links": []}]} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'notfound', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 400 Bad Request Content-Type: application/json @@ -6637,7 +7256,45 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute create_timeout", "detail": "Invalid input for field/attribute create_timeout. Value: '-1'. Value should be greater or equal to 0", "links": []}]} +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute create_timeout", "detail": "Invalid input for field/attribute create_timeout. Value: '-1'. Value should be greater or equal to 0", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_timeout_negative +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_timeout_negative ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_timeout_none +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_timeout_none ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_timeout_zero +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_timeout_zero ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestUuidType.test_valid_uuid +magnum.tests.unit.api.controllers.v1.test_types.TestUuidType.test_valid_uuid ... ok +magnum.tests.unit.api.test_hooks.TestContextHook.test_context_hook_before_method +magnum.tests.unit.api.test_hooks.TestContextHook.test_context_hook_before_method ... ok +magnum.tests.unit.api.test_hooks.TestContextHook.test_context_hook_before_method_auth_info +magnum.tests.unit.api.test_hooks.TestContextHook.test_context_hook_before_method_auth_info ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_all_three +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_all_three ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_created +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_created ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_latest_update +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_latest_update ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_updated +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_updated ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_check_type +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_check_type ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_all_three +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_all_three ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_valid_name +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_valid_name ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_create +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_create ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_old_update +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_old_update ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_update +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_update ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_forced_down +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_forced_down ... ok + POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': None, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -6645,312 +7302,549 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "eb6531d9-dc62-4408-a5a0-7a9c7d1431a9"}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_timeout_none -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_timeout_none ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_timeout_zero -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_timeout_zero ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_update -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_update ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_only_owner_delete -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_only_owner_delete ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_only_owner_get_one -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_only_owner_get_one ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_valid_name -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_valid_name ... ok - -GOT:Response: 404 Not Found +{"uuid": "4de2844a-bc2c-4c75-a73c-82b9553c3da6"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 0, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.8 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "ClusterTemplate not_there could not be found", "detail": "ClusterTemplate not_there could not be found.", "links": []}]} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'test_2', 'nodegroup': '45e6a2ac-ec4f-4106-ad87-205346071947'} +{"uuid": "f85f1e77-1f8c-41ec-ab60-2eefe138a907"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'test_cluster123456', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'test_2', 'nodegroup': '9adffa6e-d94e-4667-9b5b-e277ffff90bc'} +{"uuid": "dfc4456b-27ee-4520-b3b5-3fc6b6efd4b5"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'test-cluster', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'test_2', 'nodegroup': 'not_there'} -GOT:Response: 404 Not Found +{"uuid": "189429fa-1207-498c-ad10-99a93f147ada"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'test.cluster', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup not_there could not be found", "detail": "Nodegroup not_there could not be found.", "links": []}]} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'test_1', 'nodegroup': '27e3153e-d5bf-4b7e-b517-fb518e17f34c'} +{"uuid": "d7eceda1-634d-4fcf-8446-e7584b834fe6"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'testcluster.', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'test_2', 'nodegroup': '27e3153e-d5bf-4b7e-b517-fb518e17f34c'} -GOT:Response: 409 Conflict +{"uuid": "a5aa3588-eee9-4883-9cdf-c360b31983d2"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'testcluster-', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Cluster Template is not valid for upgrade: Nodegroup test_ng can be upgraded only to match cluster's template (test_1)", "detail": "Cluster Template is not valid for upgrade: Nodegroup test_ng can be upgraded only to match cluster's template (test_1).", "links": []}]} -POST: /v1/clustertemplates {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'image_id': 'ubuntu', 'flavor_id': 'm1.small', 'master_flavor_id': 'm1.small', 'keypair_id': 'keypair1', 'external_network_id': 'd1f02cfb-d27f-4068-9332-84d907cb0e2e', 'fixed_network': 'private', 'fixed_subnet': 'private-subnet', 'network_driver': None, 'volume_driver': None, 'dns_nameserver': '8.8.1.1', 'apiserver_port': 8080, 'docker_volume_size': 20, 'docker_storage_driver': 'devicemapper', 'cluster_distro': 'fedora-coreos', 'coe': 'kubernetes', 'labels': {'key1': 'val1', 'key2': 'val2'}, 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'registry_enabled': False, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'hidden': False, 'tags': '', 'driver': ''} -GOT:Response: 403 Forbidden +{"uuid": "826f0d31-96c3-4ee5-b55c-df260ae11a26"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'testcluster_', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:create to be performed", "detail": "Policy doesn't allow clustertemplate:create to be performed.", "links": []}]} -DELETE: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 -GOT:Response: 403 Forbidden +{"uuid": "d2a05c8c-ea62-4b41-8c07-1866d19cca5b"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'test.-_cluster', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:delete to be performed", "detail": "Policy doesn't allow clustertemplate:delete to be performed.", "links": []}]} -GET: /v1/clustertemplates/13b1dda1-4321-4a0c-9228-9e2b90ccc5fd/detail {} -GOT:Response: 403 Forbidden +{"uuid": "845bb1a1-765e-43f0-a9eb-1e013cd3e3f2"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'Testcluster', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:detail to be performed", "detail": "Policy doesn't allow clustertemplate:detail to be performed.", "links": []}]} -GET: /v1/clustertemplates {} -GOT:Response: 403 Forbidden +{"uuid": "b15f956f-92b5-49c6-b0d1-9496e750d0d3"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 0, 'master_count': 3, 'merge_labels': False}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_zero_node_count +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_zero_node_count ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_zero_node_count_fail +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_zero_node_count_fail ... ok +magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_http +magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_http ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_docker_volume_size +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_docker_volume_size ... ok +magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_http_config_workers +magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_http_config_workers ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_flavor_id +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_flavor_id ... ok +magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https +magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_keypair +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_keypair ... ok +magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https_no_cert +magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https_no_cert ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_labels +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_labels ... ok +magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https_no_key +magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https_no_key ... ok +magnum.tests.unit.cmd.test_conductor.TestMagnumConductor.test_conductor +magnum.tests.unit.cmd.test_conductor.TestMagnumConductor.test_conductor ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_master_flavor_id +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_master_flavor_id ... ok +magnum.tests.unit.cmd.test_conductor.TestMagnumConductor.test_conductor_config_workers +magnum.tests.unit.cmd.test_conductor.TestMagnumConductor.test_conductor_config_workers ... ok +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanCert.test_barbican_cert +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanCert.test_barbican_cert ... ok +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanCert.test_barbican_cert_none_values +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanCert.test_barbican_cert_none_values ... ok +magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairCert.test_x509keypair_cert +magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairCert.test_x509keypair_cert ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_merge_labels +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_merge_labels ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_name +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_name ... ok +magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_create_no_permission +magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_create_no_permission ... ok +magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_get_no_permission +magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_get_no_permission ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_cluster_as_admin +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_cluster_as_admin ... ok + +POST: /v1/quotas {'id': 42, 'resource': 'Cluster', 'hard_limit': 10} +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:get_all to be performed", "detail": "Policy doesn't allow clustertemplate:get_all to be performed.", "links": []}]} -GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:Response: 403 Forbidden +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Must provide a valid project ID", "detail": "Must provide a valid project ID.", "links": []}]} +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:get to be performed", "detail": "Policy doesn't allow clustertemplate:get to be performed.", "links": []}]} -PATCH: /v1/clustertemplates/example_A [{'path': '/name', 'value': 'new_name', 'op': 'replace'}] -GOT:Response: 403 Forbidden +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "The project_id fake_project could not be found", "detail": "The project_id fake_project could not be found.", "links": []}]} +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 0} +GOT:Response: 201 Created Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:update to be performed", "detail": "Policy doesn't allow clustertemplate:update to be performed.", "links": []}]} -DELETE: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 -GOT:Response: 403 Forbidden +{"id": 42, "hard_limit": 0, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-01-16T22:53:54.041942+00:00", "updated_at": null} +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} +GOT:Response: 201 Created Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:delete to be performed", "detail": "Policy doesn't allow clustertemplate:delete to be performed.", "links": []}]} -GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:Response: 403 Forbidden +{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-01-16T22:53:54.080989+00:00", "updated_at": null} +DELETE: /v1/quotas/fake_project/Cluster +GOT:Response: 204 No Content +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version + +GET: /v1/quotas/fake_project/Cluster {} +GOT:Response: 200 OK Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:get to be performed", "detail": "Policy doesn't allow clustertemplate:get to be performed.", "links": []}]} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/name', 'value': 'new_name', 'op': 'replace'}] +{"hard_limit": 20, "project_id": "fake_project", "resource": "Cluster"} +GET: /v1/quotas {} +GOT:{'quotas': []} +GET: /v1/quotas?all_tenants=True {} +GOT:{'quotas': [{'id': 1, 'hard_limit': 10, 'project_id': 'proj-id-0', 'resource': 'Cluster', 'created_at': '2025-01-16T22:53:54.160828+00:00', 'updated_at': None}, {'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2025-01-16T22:53:54.162344+00:00', 'updated_at': None}, {'id': 3, 'hard_limit': 10, 'project_id': 'proj-id-2', 'resource': 'Cluster', 'created_at': '2025-01-16T22:53:54.163439+00:00', 'updated_at': None}, {'id': 4, 'hard_limit': 10, 'project_id': 'proj-id-3', 'resource': 'Cluster', 'created_at': '2025-01-16T22:53:54.164390+00:00', 'updated_at': None}]} +GET: /v1/quotas?all_tenants=False {} +GOT:{'quotas': [{'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2025-01-16T22:53:54.201329+00:00', 'updated_at': None}]} +GET: /v1/quotas?limit=3&marker=3&all_tenants=True {} +GOT:{'quotas': [{'id': 4, 'hard_limit': 10, 'project_id': 'proj-id-3', 'resource': 'Cluster', 'created_at': '2025-01-16T22:53:54.241516+00:00', 'updated_at': None}]} +GET: /v1/quotas {} +GOT:{'quotas': [{'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2025-01-16T22:53:54.277125+00:00', 'updated_at': None}]} +GET: /v1/quotas {} +GOT:{'quotas': [{'id': 3, 'hard_limit': 10, 'project_id': 'proj-id-2', 'resource': 'Cluster', 'created_at': '2025-01-16T22:53:54.305039+00:00', 'updated_at': None}]} +GET: /v1/quotas?all_tenants=True {} +GOT:{'quotas': []} +GET: /v1/quotas?limit=2&all_tenants=True {} +GOT:{'quotas': [{'id': 1, 'hard_limit': 10, 'project_id': 'proj-id-0', 'resource': 'Cluster', 'created_at': '2025-01-16T22:53:54.358683+00:00', 'updated_at': None}, {'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2025-01-16T22:53:54.359729+00:00', 'updated_at': None}], 'next': 'http://localhost/v1/quotas?sort_key=id&sort_dir=asc&limit=2&marker=2'} +GET: /v1/quotas/fake_project/Cluster {} +GOT:{'id': 1, 'hard_limit': 10, 'project_id': 'fake_project', 'resource': 'Cluster', 'created_at': '2025-01-16T22:53:54.388152+00:00', 'updated_at': None} +GET: /v1/quotas/fake_project/Cluster {} +GOT:Response: 200 OK +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"hard_limit": 20, "project_id": "fake_project", "resource": "Cluster"} +GET: /v1/quotas/invalid_proj/invalid_res {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:update to be performed", "detail": "Policy doesn't allow clustertemplate:update to be performed.", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_only_owner_update -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_only_owner_update ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_as_admin -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_as_admin ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_zero_node_count -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_zero_node_count ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_not_found -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_cluster -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_cluster ... ok - -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 0, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} -GOT:Response: 202 Accepted +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Not authorized", "detail": "Not authorized.", "links": []}]} +GET: /v1/quotas/fake_project/Cluster {} +GOT:Response: 200 OK Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "e76a6593-444f-4166-b5b7-64cc54c2f14e"} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'test_cluster123456', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +{"hard_limit": 15, "project_id": "fake_project", "resource": "Cluster"} +GET: /v1/quotas {} +GOT:{'quotas': [{'id': 1, 'hard_limit': 10, 'project_id': 'fake_project', 'resource': 'Cluster', 'created_at': '2025-01-16T22:53:54.481307+00:00', 'updated_at': None}]} +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 5} +GOT:Response: 201 Created +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"id": 42, "hard_limit": 5, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-01-16T22:53:54.515137+00:00", "updated_at": null} +PATCH: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 20} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "16af1e62-7074-42f4-96cc-c4cfd5b8f2d8"} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'test-cluster', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +{"id": 42, "hard_limit": 20, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-01-16T22:53:54.515137+00:00", "updated_at": "2025-01-16T22:53:54.524108+00:00"} +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} +GOT:Response: 201 Created +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-01-16T22:53:54.549536+00:00", "updated_at": null} +PATCH: /v1/quotas {'project_id': 'not-found', 'hard_limit': 20, 'resource': 'Cluster'} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Quota could not be found: project_id not-found resource Cluster", "detail": "Quota could not be found: project_id not-found resource Cluster.", "links": []}]} +POST: /v1/certificates {'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'csr': 'fake-csr'} +GET: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +PATCH: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {}magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_update_no_permission +magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_update_no_permission ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_cluster_not_found +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_cluster_not_found ... ok + +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.10 +Vary: OpenStack-API-Version +{"uuid": "791d2745-819d-4396-8607-885ba739d291"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 0, 'master_count': 3, 'merge_labels': False} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.9 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing a nodegroup to zero is not supported in the provided microversion", "detail": "Resizing a nodegroup to zero is not supported in the provided microversion.", "links": []}]} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "c4c11c27-036e-43fc-9dce-04cbe8b7ceee"} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'test.cluster', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +{"uuid": "75538ecb-3811-4d28-895d-9a6972393996"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "6053bf01-11ea-4100-aa3b-28810ee9d005"} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'testcluster.', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +{"uuid": "846c998e-f090-4080-8ecd-b0204d39c9ed"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "7f90d90c-8f4f-4e23-aa13-921efb003929"} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'testcluster-', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +{"uuid": "a50cd59f-9f6d-4352-bc0d-893c37ea07e9"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "c3959bdf-6883-4c48-8820-6e3612b6ee49"} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'testcluster_', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +{"uuid": "df7916a6-12f6-419f-ba95-90df7cd0936a"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "e35f1c39-616a-4d5a-9c05-511a712e8ae6"} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'test.-_cluster', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +{"uuid": "dd4debf2-d7d6-4d78-83eb-c980dc870b77"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': {'label2': 'value3', 'label4': 'value4'}, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "30ae250e-05cb-4cea-82a7-456eb0df536c"} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'Testcluster', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +{"uuid": "61fe1750-cde6-414a-8785-0490ad96dd0f"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "b018f3d3-d0aa-49b3-9563-65892a2f6e17"} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 0, 'master_count': 3, 'merge_labels': False} +{"uuid": "c6819910-9d5d-454d-b662-3456b5e19514"} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'test_2'} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.10 +Openstack-Api-Version: container-infra 1.8 Vary: OpenStack-API-Version -{"uuid": "029d42fe-2ce5-4989-8642-b691e7dc4e2f"} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 0, 'master_count': 3, 'merge_labels': False}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_zero_node_count_fail -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_zero_node_count_fail ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_docker_volume_size -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_docker_volume_size ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_name -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_name ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_flavor_id -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_flavor_id ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_name_not_found -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_name_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_multiple_cluster_template_by_name -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_multiple_cluster_template_by_name ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_keypair -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_keypair ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_add_root_non_existent -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_add_root_non_existent ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_labels -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_labels ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_create_cluster_template_with_no_os_distro_image -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_create_cluster_template_with_no_os_distro_image ... ok +{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} +POST: /v1/clusters/945968ec-0e4b-47e4-bbb1-6483a4233682/actions/upgrade {'cluster_template': 'test_2'} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.8 +Vary: OpenStack-API-Version +{"uuid": "945968ec-0e4b-47e4-bbb1-6483a4233682"} +POST: /v1/clusters/not_there/actions/upgrade {'cluster_template': 'test_2'} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.8 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not_there could not be found", "detail": "Cluster not_there could not be found.", "links": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'not_there'}magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_ct_not_found +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_ct_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_default_master +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_default_master ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_default_worker +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_default_worker ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_ng_not_found +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_ng_not_found ... ok +magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_create_no_permission +magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_create_no_permission ... ok +magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_delete_no_permission +magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_delete_no_permission ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_non_default_ng +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_non_default_ng ... ok +magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_get_all_no_permission +magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_get_all_no_permission ... ok +magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_get_detail_no_permission +magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_get_detail_no_permission ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_non_default_ng_invalid_ct +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_non_default_ng_invalid_ct ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplateObject.test_cluster_template_init +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplateObject.test_cluster_template_init ... ok +magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_get_no_permission +magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_get_no_permission ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_create +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_create ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_delete +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_delete ... ok +magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_update_no_permission +magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_update_no_permission ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_detail +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_detail ... ok +magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_create_no_permission +magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_create_no_permission ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_get_all +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_get_all ... ok +magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_delete_no_permission +magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_delete_no_permission ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_get_one +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_get_one ... ok +magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_detail_list_no_permission +magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_detail_list_no_permission ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_update +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_update ... ok +magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_get_no_permission +magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_get_no_permission ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_only_owner_delete +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_only_owner_delete ... ok +magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_get_reader +magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_get_reader ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_only_owner_get_one +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_only_owner_get_one ... ok +magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_update_no_permission +magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_update_no_permission ... ok +magnum.tests.unit.common.policies.test_magnum_service_policy.TestMagnumServicePolicy.test_get_all_no_permission +magnum.tests.unit.common.policies.test_magnum_service_policy.TestMagnumServicePolicy.test_get_all_no_permission ... ok +magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_create_no_permission +magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_create_no_permission ... ok +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.8 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "ClusterTemplate not_there could not be found", "detail": "ClusterTemplate not_there could not be found.", "links": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'test_2', 'nodegroup': 'f24fc12d-9a4b-4007-afe9-952e213bd730'} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.9 +Vary: OpenStack-API-Version +{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'test_2', 'nodegroup': '3d617a16-5abe-4c81-b815-035e7e2adb3d'} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.9 +Vary: OpenStack-API-Version +{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'test_2', 'nodegroup': 'not_there'} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.9 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup not_there could not be found", "detail": "Nodegroup not_there could not be found.", "links": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'test_1', 'nodegroup': '27e3153e-d5bf-4b7e-b517-fb518e17f34c'} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.9 +Vary: OpenStack-API-Version +{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'test_2', 'nodegroup': '27e3153e-d5bf-4b7e-b517-fb518e17f34c'} +GOT:Response: 409 Conflict +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.9 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Cluster Template is not valid for upgrade: Nodegroup test_ng can be upgraded only to match cluster's template (test_1)", "detail": "Cluster Template is not valid for upgrade: Nodegroup test_ng can be upgraded only to match cluster's template (test_1).", "links": []}]} +POST: /v1/clustertemplates {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'image_id': 'ubuntu', 'flavor_id': 'm1.small', 'master_flavor_id': 'm1.small', 'keypair_id': 'keypair1', 'external_network_id': 'd1f02cfb-d27f-4068-9332-84d907cb0e2e', 'fixed_network': 'private', 'fixed_subnet': 'private-subnet', 'network_driver': None, 'volume_driver': None, 'dns_nameserver': '8.8.1.1', 'apiserver_port': 8080, 'docker_volume_size': 20, 'docker_storage_driver': 'devicemapper', 'cluster_distro': 'fedora-coreos', 'coe': 'kubernetes', 'labels': {'key1': 'val1', 'key2': 'val2'}, 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'registry_enabled': False, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'hidden': False, 'tags': '', 'driver': ''} +GOT:Response: 403 Forbidden +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:create to be performed", "detail": "Policy doesn't allow clustertemplate:create to be performed.", "links": []}]} DELETE: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 -GOT:Response: 204 No Content +GOT:Response: 403 Forbidden +Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version - -GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:Response: 404 Not Found +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:delete to be performed", "detail": "Policy doesn't allow clustertemplate:delete to be performed.", "links": []}]} +GET: /v1/clustertemplates/4b3bee60-4efb-41c6-83ae-ce4344ccafb8/detail {} +GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "ClusterTemplate e74c40e0-d825-11e2-a28f-0800200c9a66 could not be found", "detail": "ClusterTemplate e74c40e0-d825-11e2-a28f-0800200c9a66 could not be found.", "links": []}]} -DELETE: /v1/clustertemplates/ea58ac24-a545-46bf-a184-bbc193fb14df -GOT:Response: 204 No Content +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:detail to be performed", "detail": "Policy doesn't allow clustertemplate:detail to be performed.", "links": []}]} +GET: /v1/clustertemplates {} +GOT:Response: 403 Forbidden +Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version - -DELETE: /v1/clustertemplates/6c56feeb-cd79-44df-aa7c-a38adc7a7a24 -GOT:Response: 404 Not Found +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:get_all to be performed", "detail": "Policy doesn't allow clustertemplate:get_all to be performed.", "links": []}]} +GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} +GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "ClusterTemplate 6c56feeb-cd79-44df-aa7c-a38adc7a7a24 could not be found", "detail": "ClusterTemplate 6c56feeb-cd79-44df-aa7c-a38adc7a7a24 could not be found.", "links": []}]} -DELETE: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 -GOT:Response: 400 Bad Request +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:get to be performed", "detail": "Policy doesn't allow clustertemplate:get to be performed.", "links": []}]} +PATCH: /v1/clustertemplates/example_A [{'path': '/name', 'value': 'new_name', 'op': 'replace'}] +GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "ClusterTemplate e74c40e0-d825-11e2-a28f-0800200c9a66 is referenced by one or multiple clusters", "detail": "ClusterTemplate e74c40e0-d825-11e2-a28f-0800200c9a66 is referenced by one or multiple clusters.", "links": []}]} -DELETE: /v1/clustertemplates/clustermodel1 -GOT:Response: 204 No Content +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:update to be performed", "detail": "Policy doesn't allow clustertemplate:update to be performed.", "links": []}]} +DELETE: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 +GOT:Response: 403 Forbidden +Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version - -DELETE: /v1/clustertemplates/not_found -GOT:Response: 404 Not Found +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:delete to be performed", "detail": "Policy doesn't allow clustertemplate:delete to be performed.", "links": []}]} +GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} +GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "ClusterTemplate not_found could not be found", "detail": "ClusterTemplate not_found could not be found.", "links": []}]} -DELETE: /v1/clustertemplates/test_cluster_template -GOT:Response: 409 Conflict +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:get to be performed", "detail": "Policy doesn't allow clustertemplate:get to be performed.", "links": []}]} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/name', 'value': 'new_name', 'op': 'replace'}] +GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Multiple ClusterTemplates exist with same name", "detail": "Multiple ClusterTemplates exist with same name. Please use the ClusterTemplate uuid instead.", "links": []}]} +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:update to be performed", "detail": "Policy doesn't allow clustertemplate:update to be performed.", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_only_owner_update +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_only_owner_update ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_add_root_non_existent +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_add_root_non_existent ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_create_cluster_template_with_no_os_distro_image +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_create_cluster_template_with_no_os_distro_image ... ok +magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_delete_no_permission +magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_delete_no_permission ... ok +magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_get_all_no_permission +magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_get_all_no_permission ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_mandatory_property_fail +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_mandatory_property_fail ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_non_existent_property_fail +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_non_existent_property_fail ... ok +magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_get_no_permission +magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_get_no_permission ... ok +magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_update_no_permission +magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_update_no_permission ... ok +magnum.tests.unit.common.policies.test_stats_policy.TestStatsPolicy.test_stat_admin +magnum.tests.unit.common.policies.test_stats_policy.TestStatsPolicy.test_stat_admin ... ok + PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json @@ -7022,33 +7916,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/registry_enabled' is a mandatory attribute and can not be removed", "detail": "'/registry_enabled' is a mandatory attribute and can not be removed", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_mandatory_property_fail -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_mandatory_property_fail ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_non_existent_property_fail -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_non_existent_property_fail ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_master_flavor_id -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_master_flavor_id ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_singular -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_singular ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_uuid -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_uuid ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_merge_labels -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_merge_labels ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_external_network_id -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_external_network_id ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_name -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_name ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestFederationObject.test_federation_init -magnum.tests.unit.api.controllers.v1.test_federation.TestFederationObject.test_federation_init ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_flavor_id -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_flavor_id ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_image_id -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_image_id ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_join_cluster_already_member -magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_join_cluster_already_member ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_join_non_existent_cluster -magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_join_non_existent_cluster ... ok - +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/registry_enabled' is a mandatory attribute and can not be removed", "detail": "'/registry_enabled' is a mandatory attribute and can not be removed", "links": []}]} PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/cluster_distro', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json @@ -7074,17 +7942,49 @@ Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Couldn't apply patch '[{'path': '/non-existent', 'op': 'remove'}]'", "detail": "Couldn't apply patch '[{'path': '/non-existent', 'op': 'remove'}]'. Reason: can't remove a non-existent object 'non-existent'", "links": []}]} GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2026-02-19T05:12:17.757980+00:00', 'updated_at': None} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/dns_nameserver', 'op': 'remove'}] +GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2025-01-16T22:53:56.284312+00:00', 'updated_at': None} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/dns_nameserver', 'op': 'remove'}]magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_singular +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_singular ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_uuid +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_uuid ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_external_network_id +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_external_network_id ... ok +magnum.tests.unit.common.policies.test_stats_policy.TestStatsPolicy.test_stat_no_permission +magnum.tests.unit.common.policies.test_stats_policy.TestStatsPolicy.test_stat_no_permission ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_flavor_id +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_flavor_id ... ok +magnum.tests.unit.common.policies.test_stats_policy.TestStatsPolicy.test_stat_reader +magnum.tests.unit.common.policies.test_stats_policy.TestStatsPolicy.test_stat_reader ... ok +magnum.tests.unit.common.test_context.ContextTestCase.test_context +magnum.tests.unit.common.test_context.ContextTestCase.test_context ... ok +magnum.tests.unit.common.test_context.ContextTestCase.test_context_with_roles +magnum.tests.unit.common.test_context.ContextTestCase.test_context_with_roles ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_image_id +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_image_id ... ok +magnum.tests.unit.common.test_context.ContextTestCase.test_request_context_sets_is_admin +magnum.tests.unit.common.test_context.ContextTestCase.test_request_context_sets_is_admin ... ok +magnum.tests.unit.common.test_context.ContextTestCase.test_to_dict_from_dict +magnum.tests.unit.common.test_context.ContextTestCase.test_to_dict_from_dict ... ok +magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers +magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_keypair_id +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_keypair_id ... ok +magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_already_deleted +magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_already_deleted ... ok +magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_no_candidate +magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_no_candidate ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_singular +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_singular ... ok + GOT:Response: 200 OK Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": null, "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2026-02-19T05:12:17.757980+00:00", "updated_at": null} +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": null, "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2025-01-16T22:53:56.284312+00:00", "updated_at": null} GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': None, 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2026-02-19T05:12:17.757980+00:00', 'updated_at': '2026-02-19T05:12:17.779246+00:00'} +GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': None, 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2025-01-16T22:53:56.284312+00:00', 'updated_at': '2025-01-16T22:53:56.310997+00:00'} PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json @@ -7124,184 +8024,71 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "aaa", "detail": "aaa", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_keypair_id -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_keypair_id ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_singular -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_singular ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_as_admin -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_as_admin ... ok - -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing a nodegroup to zero is not supported in the provided microversion", "detail": "Resizing a nodegroup to zero is not supported in the provided microversion.", "links": []}]} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "1df8716e-2afc-4f17-b614-18db7e5ccd2b"} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "70d31c31-d6c1-49df-98c8-656b21816d4e"} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "4b6d3840-9ec4-44a1-809e-9649a6acbbd9"} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "689c1834-7ed4-4ed1-9db1-37aa7d3f63e4"} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "bf58ff5b-4441-416b-8f6c-24363d897b7c"} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': {'label2': 'value3', 'label4': 'value4'}, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "24d35659-257d-4a55-9127-03145ab1ecb3"} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "7bc94db7-5904-4219-b8a9-0282bc02bfa7"} -PATCH: /v1/federations/8962d0e8-fa6a-4d41-bbc6-e3be1b78648f [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'add'}] -GOT:Response: 409 Conflict -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "A cluster with UUID 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 is already a member of the federation federation-example", "detail": "A cluster with UUID 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 is already a member of the federation federation-example.", "links": []}]} -PATCH: /v1/federations/9ffa7732-969b-4bf1-986b-717d566070d5 [{'path': '/member_ids', 'value': 'f3e72364-6db7-4388-a711-8e7d890b919d', 'op': 'add'}] -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster f3e72364-6db7-4388-a711-8e7d890b919d could not be found", "detail": "Cluster f3e72364-6db7-4388-a711-8e7d890b919d could not be found.", "links": []}]} -PATCH: /v1/federations/41a689f8-5bd8-46cc-8c8b-abb604adde75 [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'add'}] -GOT:Response: 202 Accepted +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "aaa", "detail": "aaa", "links": []}]} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/name', 'value': 'cluster_model_example_B', 'op': 'replace'}] +GOT:Response: 200 OK Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "41a689f8-5bd8-46cc-8c8b-abb604adde75"} -GET: /v1/federations/41a689f8-5bd8-46cc-8c8b-abb604adde75 {} -GOT:{'uuid': '41a689f8-5bd8-46cc-8c8b-abb604adde75', 'name': 'federation-example', 'hostcluster_id': 'fake_master', 'member_ids': ['5d12f6fd-a196-4bf0-ae4c-1f639a523a52'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/41a689f8-5bd8-46cc-8c8b-abb604adde75', 'rel': 'self'}, {'href': 'http://localhost/federations/41a689f8-5bd8-46cc-8c8b-abb604adde75', 'rel': 'bookmark'}], 'created_at': '2026-02-19T05:12:17.896109+00:00', 'updated_at': '2026-02-19T05:12:17.910682+00:00'}magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_member_join -magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_member_join ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_member_unjoin -magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_member_unjoin ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_unjoin_non_existent_cluster -magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_unjoin_non_existent_cluster ... ok +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_B", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2025-01-16T22:53:56.487732+00:00", "updated_at": null} +GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} +GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_B', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2025-01-16T22:53:56.487732+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} +PATCH: /v1/clustertemplates/1c4daa11-6635-417f-93f1-0bb95e2d5dfa [{'path': '/name', 'value': 'cluster_model_example_B', 'op': 'replace'}] +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_as_admin +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_as_admin ... ok magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_hidden_with_cluster_allow_update magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_hidden_with_cluster_allow_update ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_unjoin_non_member_cluster -magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_unjoin_non_member_cluster ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_by_name_not_found -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_by_name_not_found ... ok - -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/name', 'value': 'cluster_model_example_B', 'op': 'replace'}] +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_name_with_cluster +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_name_with_cluster ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_B", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2026-02-19T05:12:17.894915+00:00", "updated_at": null} -GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_B', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2026-02-19T05:12:17.894915+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} -PATCH: /v1/clustertemplates/fe26c407-d93c-4970-923a-95ab6695bc56 [{'path': '/name', 'value': 'cluster_model_example_B', 'op': 'replace'}] +{"uuid": "1c4daa11-6635-417f-93f1-0bb95e2d5dfa", "name": "cluster_model_example_B", "coe": "kubernetes", "image_id": "ubuntu", "flavor_id": "m1.small", "master_flavor_id": "m1.small", "dns_nameserver": "8.8.1.1", "keypair_id": "keypair1", "external_network_id": "d1f02cfb-d27f-4068-9332-84d907cb0e2e", "fixed_network": "private", "fixed_subnet": "private-subnet", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/1c4daa11-6635-417f-93f1-0bb95e2d5dfa", "rel": "self"}, {"href": "http://localhost/clustertemplates/1c4daa11-6635-417f-93f1-0bb95e2d5dfa", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": null, "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "1c4daa11-6635-417f-93f1-0bb95e2d5dfa", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2025-01-16T22:53:56.535330+00:00", "updated_at": null} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/hidden', 'value': True, 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "fe26c407-d93c-4970-923a-95ab6695bc56", "name": "cluster_model_example_B", "coe": "kubernetes", "image_id": "ubuntu", "flavor_id": "m1.small", "master_flavor_id": "m1.small", "dns_nameserver": "8.8.1.1", "keypair_id": "keypair1", "external_network_id": "d1f02cfb-d27f-4068-9332-84d907cb0e2e", "fixed_network": "private", "fixed_subnet": "private-subnet", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/fe26c407-d93c-4970-923a-95ab6695bc56", "rel": "self"}, {"href": "http://localhost/clustertemplates/fe26c407-d93c-4970-923a-95ab6695bc56", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": null, "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fe26c407-d93c-4970-923a-95ab6695bc56", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2026-02-19T05:12:17.926851+00:00", "updated_at": null} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/hidden', 'value': True, 'op': 'replace'}] +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": true, "tags": "", "driver": "", "created_at": "2025-01-16T22:53:56.570572+00:00", "updated_at": null} +GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} +GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': True, 'tags': '', 'driver': '', 'created_at': '2025-01-16T22:53:56.570572+00:00', 'updated_at': '2025-01-16T22:53:56.596776+00:00'} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/name', 'value': 'cluster_model_example_B', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": true, "tags": "", "driver": "", "created_at": "2026-02-19T05:12:17.949613+00:00", "updated_at": null} -GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': True, 'tags': '', 'driver': '', 'created_at': '2026-02-19T05:12:17.949613+00:00', 'updated_at': '2026-02-19T05:12:17.969375+00:00'} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/name', 'value': 'cluster_model_example_B', 'op': 'replace'}] +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_B", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2025-01-16T22:53:56.621568+00:00", "updated_at": null} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/labels', 'value': "{'etcd_volume_size': '1'}", 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_B", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2026-02-19T05:12:17.986600+00:00", "updated_at": null}magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_name_with_cluster -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_name_with_cluster ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_replace_labels_success +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"etcd_volume_size": "1"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2025-01-16T22:53:56.665758+00:00", "updated_at": null} +GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} +GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'etcd_volume_size': '1'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2025-01-16T22:53:56.665758+00:00', 'updated_at': '2025-01-16T22:53:56.686448+00:00'}magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_replace_labels_success magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_replace_labels_success ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_default_nodegroup -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_default_nodegroup ... ok magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_with_cluster magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_with_cluster ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_nodegroup -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_nodegroup ... ok magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_with_cluster_allow_update magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_with_cluster_allow_update ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_nodegroup_as_admin -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_nodegroup_as_admin ... ok magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_with_devicemapper magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_with_devicemapper ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_nodegroup_by_name -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_nodegroup_by_name ... ok magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_hidden_cluster_template_fail magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_hidden_cluster_template_fail ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_not_found -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_wrong_microversion -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_wrong_microversion ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_hidden_cluster_template_success +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_hidden_cluster_template_success ... ok -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/labels', 'value': "{'etcd_volume_size': '1'}", 'op': 'replace'}] -GOT:Response: 200 OK -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"etcd_volume_size": "1"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2026-02-19T05:12:18.017008+00:00", "updated_at": null} -GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'etcd_volume_size': '1'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2026-02-19T05:12:18.017008+00:00', 'updated_at': '2026-02-19T05:12:18.032297+00:00'} PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/network_driver', 'value': 'flannel', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json @@ -7317,9 +8104,9 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": true, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2026-02-19T05:12:18.080503+00:00", "updated_at": null} +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": true, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2025-01-16T22:53:56.757267+00:00", "updated_at": null} GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': True, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2026-02-19T05:12:18.080503+00:00', 'updated_at': '2026-02-19T05:12:18.100069+00:00'} +GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': True, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2025-01-16T22:53:56.757267+00:00', 'updated_at': '2025-01-16T22:53:56.784176+00:00'} PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/docker_storage_driver', 'value': 'devicemapper', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json @@ -7327,224 +8114,223 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2026-02-19T05:12:18.116138+00:00", "updated_at": null} +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2025-01-16T22:53:56.808836+00:00", "updated_at": null} PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/hidden', 'value': True, 'op': 'replace'}] -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/hidden', 'value': True, 'op': 'replace'}]magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_hidden_cluster_template_success -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_hidden_cluster_template_success ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_not_found +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/hidden', 'value': True, 'op': 'replace'}] +GOT:Response: 200 OK +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": true, "tags": "", "driver": "", "created_at": "2025-01-16T22:53:56.880579+00:00", "updated_at": null} +GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} +GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': True, 'tags': '', 'driver': '', 'created_at': '2025-01-16T22:53:56.880579+00:00', 'updated_at': '2025-01-16T22:53:56.897243+00:00'} +PATCH: /v1/clustertemplates/99127438-580f-4555-9bf1-4ad556e9edbe [{'path': '/name', 'value': 'cluster_model_example_B', 'op': 'add'}]magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_not_found magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestNodegroupObject.test_nodegroup_init -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestNodegroupObject.test_nodegroup_init ... ok magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_public_cluster_template_fail magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_public_cluster_template_fail ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_internal_attr -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_internal_attr ... ok magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_public_cluster_template_success magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_public_cluster_template_success ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation -magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation_not_found -magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_join_cluster_already_member +magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_join_cluster_already_member ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_join_non_existent_cluster +magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_join_non_existent_cluster ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_member_join +magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_member_join ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_member_unjoin +magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_member_unjoin ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_unjoin_non_existent_cluster +magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_unjoin_non_existent_cluster ... ok -PATCH: /v1/federations/9d466ef3-250a-4a6c-b63b-d64c1398811c [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'remove'}] -GOT:Response: 202 Accepted +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "9d466ef3-250a-4a6c-b63b-d64c1398811c"} -GET: /v1/federations/9d466ef3-250a-4a6c-b63b-d64c1398811c {} -GOT:{'uuid': '9d466ef3-250a-4a6c-b63b-d64c1398811c', 'name': 'federation-example', 'hostcluster_id': 'fake_master', 'member_ids': [], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/9d466ef3-250a-4a6c-b63b-d64c1398811c', 'rel': 'self'}, {'href': 'http://localhost/federations/9d466ef3-250a-4a6c-b63b-d64c1398811c', 'rel': 'bookmark'}], 'created_at': '2026-02-19T05:12:17.930998+00:00', 'updated_at': '2026-02-19T05:12:17.940604+00:00'} -PATCH: /v1/federations/fcc7b22e-efb8-4618-af06-1920b4163c14 [{'path': '/member_ids', 'value': '0d1b0a4b-976d-4f24-99fd-cfb9782ddf8c', 'op': 'remove'}] -GOT:Response: 404 Not Found +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "ClusterTemplate 99127438-580f-4555-9bf1-4ad556e9edbe could not be found", "detail": "ClusterTemplate 99127438-580f-4555-9bf1-4ad556e9edbe could not be found.", "links": []}]} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/public', 'value': True, 'op': 'replace'}] +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/public', 'value': True, 'op': 'replace'}] +GOT:Response: 200 OK Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 0d1b0a4b-976d-4f24-99fd-cfb9782ddf8c could not be found", "detail": "Cluster 0d1b0a4b-976d-4f24-99fd-cfb9782ddf8c could not be found.", "links": []}]} -PATCH: /v1/federations/2e2d473a-8ba3-4517-85c1-fe16c2350b1b [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'remove'}] -GOT:Response: 404 Not Found +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": true, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2025-01-16T22:53:57.130321+00:00", "updated_at": null} +GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} +GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': True, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2025-01-16T22:53:57.130321+00:00', 'updated_at': '2025-01-16T22:53:57.147477+00:00'} +PATCH: /v1/federations/86e173e0-6be1-4642-bffc-ab3348949b62 [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'add'}] +GOT:Response: 409 Conflict Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 is not a member of the federation federation-example", "detail": "Cluster 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 is not a member of the federation federation-example.", "links": []}]} -DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/not-there +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "A cluster with UUID 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 is already a member of the federation federation-example", "detail": "A cluster with UUID 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 is already a member of the federation federation-example.", "links": []}]} +PATCH: /v1/federations/7755db06-a03e-4450-8830-3d1344bb3abd [{'path': '/member_ids', 'value': 'cd1245e4-9480-415a-8eee-8f5f347fbf2e', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup not-there could not be found", "detail": "Nodegroup not-there could not be found.", "links": []}]} -DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/36ea32f6-9990-4972-a708-c3e28e4b0fe8 -GOT:Response: 400 Bad Request +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster cd1245e4-9480-415a-8eee-8f5f347fbf2e could not be found", "detail": "Cluster cd1245e4-9480-415a-8eee-8f5f347fbf2e could not be found.", "links": []}]} +PATCH: /v1/federations/027a30a9-7d35-482f-98fe-e64647364519 [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'add'}] +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Deleting a default nodegroup is not supported", "detail": "Deleting a default nodegroup is not supported.", "links": []}]} -DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 -GOT:Response: 204 No Content -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version - -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 {} -GOT:Response: 404 Not Found +{"uuid": "027a30a9-7d35-482f-98fe-e64647364519"} +GET: /v1/federations/027a30a9-7d35-482f-98fe-e64647364519 {} +GOT:{'uuid': '027a30a9-7d35-482f-98fe-e64647364519', 'name': 'federation-example', 'hostcluster_id': 'fake_master', 'member_ids': ['5d12f6fd-a196-4bf0-ae4c-1f639a523a52'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/027a30a9-7d35-482f-98fe-e64647364519', 'rel': 'self'}, {'href': 'http://localhost/federations/027a30a9-7d35-482f-98fe-e64647364519', 'rel': 'bookmark'}], 'created_at': '2025-01-16T22:53:57.241492+00:00', 'updated_at': '2025-01-16T22:53:57.262706+00:00'} +PATCH: /v1/federations/768ba660-e076-40de-9817-e61bd46640db [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'remove'}] +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup 483203a3-dbee-4a9c-9d65-9820512f4df8 could not be found", "detail": "Nodegroup 483203a3-dbee-4a9c-9d65-9820512f4df8 could not be found.", "links": []}]} -DELETE: /v1/clusters/4f2fda11-8d90-48a5-85fe-7a38097f50fe/nodegroups/acd6f02a-d223-4bf5-9dc6-40275d696bcc -GOT:Response: 204 No Content -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version - -DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 -GOT:Response: 204 No Content -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version - -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 {} +{"uuid": "768ba660-e076-40de-9817-e61bd46640db"} +GET: /v1/federations/768ba660-e076-40de-9817-e61bd46640db {} +GOT:{'uuid': '768ba660-e076-40de-9817-e61bd46640db', 'name': 'federation-example', 'hostcluster_id': 'fake_master', 'member_ids': [], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/768ba660-e076-40de-9817-e61bd46640db', 'rel': 'self'}, {'href': 'http://localhost/federations/768ba660-e076-40de-9817-e61bd46640db', 'rel': 'bookmark'}], 'created_at': '2025-01-16T22:53:57.293537+00:00', 'updated_at': '2025-01-16T22:53:57.307061+00:00'} +PATCH: /v1/federations/5f3c2b69-e88e-48d5-95aa-050dd405db91 [{'path': '/member_ids', 'value': 'de4cdab1-a8b7-485c-b67d-305a2e3bd903', 'op': 'remove'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup nodegroup1 could not be found", "detail": "Nodegroup nodegroup1 could not be found.", "links": []}]} -DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/fcaf90a1-e6d2-40bd-885d-091996c754ae +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster de4cdab1-a8b7-485c-b67d-305a2e3bd903 could not be found", "detail": "Cluster de4cdab1-a8b7-485c-b67d-305a2e3bd903 could not be found.", "links": []}]} +PATCH: /v1/federations/d5e99266-19c5-4f5f-913a-98b145f9637c [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'remove'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup fcaf90a1-e6d2-40bd-885d-091996c754ae could not be found", "detail": "Nodegroup fcaf90a1-e6d2-40bd-885d-091996c754ae could not be found.", "links": []}]} -DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 -GOT:Response: 406 Not Acceptable -Content-Type: application/json -{"errors": [{"request_id": "", "code": "", "status": 406, "title": "", "detail": "", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/node_count', 'op': 'remove'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/node_count' is an internal attribute and can not be updated", "detail": "'/node_count' is an internal attribute and can not be updated", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/min_node_count', 'op': 'remove'}] -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"id": 12, "uuid": "483203a3-dbee-4a9c-9d65-9820512f4df8", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 2, "role": "worker", "min_node_count": 0, "max_node_count": 5, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2026-02-19T05:12:18.240036+00:00", "updated_at": null} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 {}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_min_node_count +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 is not a member of the federation federation-example", "detail": "Cluster 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 is not a member of the federation federation-example.", "links": []}]}magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_unjoin_non_member_cluster +magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_unjoin_non_member_cluster ... ok +magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceController.test_empty +magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceController.test_empty ... ok +magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceController.test_get_many +magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceController.test_get_many ... ok +magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceController.test_get_one +magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceController.test_get_one ... ok +magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceEnforcement.test_policy_disallow_get_all +magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceEnforcement.test_policy_disallow_get_all ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_internal_attr +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_internal_attr ... ok +magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_timeout +magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_timeout ... ok +magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_with_stack_not_found +magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_with_stack_not_found ... ok +magnum.tests.unit.common.test_profiler.TestProfiler.test_all_public_methods_are_traced +magnum.tests.unit.common.test_profiler.TestProfiler.test_all_public_methods_are_traced ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_min_node_count magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_min_node_count ... ok +magnum.tests.unit.common.test_profiler.TestProfiler.test_setup_profiler +magnum.tests.unit.common.test_profiler.TestProfiler.test_setup_profiler ... ok +magnum.tests.unit.common.test_profiler.TestProfiler.test_setup_profiler_without_osprofiler +magnum.tests.unit.common.test_profiler.TestProfiler.test_setup_profiler_without_osprofiler ... ok +magnum.tests.unit.common.test_rpc.TestRpc.test_add_extra_exmods +magnum.tests.unit.common.test_rpc.TestRpc.test_add_extra_exmods ... ok +magnum.tests.unit.common.test_rpc.TestRpc.test_cleanup +magnum.tests.unit.common.test_rpc.TestRpc.test_cleanup ... ok magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_non_existent_property magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_non_existent_property ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation_with_name -magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation_with_name ... ok +magnum.tests.unit.common.test_rpc.TestRpc.test_cleanup_notifier_null +magnum.tests.unit.common.test_rpc.TestRpc.test_cleanup_notifier_null ... ok +magnum.tests.unit.common.test_rpc.TestRpc.test_cleanup_transport_null +magnum.tests.unit.common.test_rpc.TestRpc.test_cleanup_transport_null ... ok +magnum.tests.unit.common.test_rpc.TestRpc.test_clear_extra_exmods +magnum.tests.unit.common.test_rpc.TestRpc.test_clear_extra_exmods ... ok +magnum.tests.unit.common.test_rpc.TestRpc.test_get_client +magnum.tests.unit.common.test_rpc.TestRpc.test_get_client ... ok magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_ok magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_ok ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_max_node_count_failed -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_max_node_count_failed ... ok - -GOT:Response: 200 OK -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": true, "tags": "", "driver": "", "created_at": "2026-02-19T05:12:18.164965+00:00", "updated_at": null} -GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': True, 'tags': '', 'driver': '', 'created_at': '2026-02-19T05:12:18.164965+00:00', 'updated_at': '2026-02-19T05:12:18.176741+00:00'} -PATCH: /v1/clustertemplates/05dbac10-6816-444a-8597-e380a1a08965 [{'path': '/name', 'value': 'cluster_model_example_B', 'op': 'add'}] -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "ClusterTemplate 05dbac10-6816-444a-8597-e380a1a08965 could not be found", "detail": "ClusterTemplate 05dbac10-6816-444a-8597-e380a1a08965 could not be found.", "links": []}]} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/public', 'value': True, 'op': 'replace'}] -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/public', 'value': True, 'op': 'replace'}] -GOT:Response: 200 OK -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": true, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2026-02-19T05:12:18.229449+00:00", "updated_at": null} -GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': True, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2026-02-19T05:12:18.229449+00:00', 'updated_at': '2026-02-19T05:12:18.241230+00:00'} -DELETE: /v1/federations/b5c42c97-1f09-4c21-ae11-46c2286677c6 -GOT:Response: 204 No Content -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version +magnum.tests.unit.common.test_rpc.TestRpc.test_get_client_profiler_enabled +magnum.tests.unit.common.test_rpc.TestRpc.test_get_client_profiler_enabled ... ok +magnum.tests.unit.common.test_rpc.TestRpc.test_get_server +magnum.tests.unit.common.test_rpc.TestRpc.test_get_server ... ok +magnum.tests.unit.common.test_rpc.TestRpc.test_get_server_profiler_enabled +magnum.tests.unit.common.test_rpc.TestRpc.test_get_server_profiler_enabled ... ok +magnum.tests.unit.common.test_rpc.TestRpc.test_get_transport_url +magnum.tests.unit.common.test_rpc.TestRpc.test_get_transport_url ... ok +magnum.tests.unit.common.test_rpc.TestRpc.test_get_transport_url_null +magnum.tests.unit.common.test_rpc.TestRpc.test_get_transport_url_null ... ok +magnum.tests.unit.common.test_rpc.TestRpc.test_serialize_entity +magnum.tests.unit.common.test_rpc.TestRpc.test_serialize_entity ... ok +magnum.tests.unit.common.test_service.TestMagnumService.test_prepare_service_with_argv_none +magnum.tests.unit.common.test_service.TestMagnumService.test_prepare_service_with_argv_none ... ok +magnum.tests.unit.common.test_service.TestMagnumService.test_prepare_service_with_argv_not_none +magnum.tests.unit.common.test_service.TestMagnumService.test_prepare_service_with_argv_not_none ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_12 +magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_12 ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_16 +magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_16 ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_60 +magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_60 ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_8 +magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_8 ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_generate_ids +magnum.tests.unit.common.test_short_id.ShortIdTest.test_generate_ids ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_string +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_string ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid1 +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid1 ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_0 +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_0 ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_1 +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_1 ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_endianness +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_endianness ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_f +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_f ... ok +magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get +magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get ... ok +magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get_exceed_manifest_size +magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get_exceed_manifest_size ... ok +magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get_unsupported_scheme +magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get_unsupported_scheme ... ok +magnum.tests.unit.common.test_utils.GeneratePasswordTestCase.test_generate_password +magnum.tests.unit.common.test_utils.GeneratePasswordTestCase.test_generate_password ... ok -GET: /v1/federations/b5c42c97-1f09-4c21-ae11-46c2286677c6 {} -GOT:Response: 404 Not Found +GET: /v1/mservices {} +GOT:{'mservices': []} +GET: /v1/mservices {} +GOT:{'mservices': [{'host': 'fake-host', 'binary': 'magnum-conductor', 'state': 'up', 'id': 1, 'report_count': 13, 'disabled': False, 'disabled_reason': None, 'created_at': '2001-01-01T00:00:00+00:00', 'updated_at': '2001-01-01T00:00:00+00:00'}, {'host': 'fake-host', 'binary': 'magnum-conductor', 'state': 'up', 'id': 2, 'report_count': 13, 'disabled': False, 'disabled_reason': None, 'created_at': '2001-01-01T00:00:00+00:00', 'updated_at': '2001-01-01T00:00:00+00:00'}, {'host': 'fake-host', 'binary': 'magnum-conductor', 'state': 'up', 'id': 3, 'report_count': 13, 'disabled': False, 'disabled_reason': None, 'created_at': '2001-01-01T00:00:00+00:00', 'updated_at': '2001-01-01T00:00:00+00:00'}, {'host': 'fake-host', 'binary': 'magnum-conductor', 'state': 'up', 'id': 4, 'report_count': 13, 'disabled': False, 'disabled_reason': None, 'created_at': '2001-01-01T00:00:00+00:00', 'updated_at': '2001-01-01T00:00:00+00:00'}, {'host': 'fake-host', 'binary': 'magnum-conductor', 'state': 'up', 'id': 5, 'report_count': 13, 'disabled': False, 'disabled_reason': None, 'created_at': '2001-01-01T00:00:00+00:00', 'updated_at': '2001-01-01T00:00:00+00:00'}]} +GET: /v1/mservices {} +GOT:{'mservices': [{'host': 'fake-host', 'binary': 'magnum-conductor', 'state': 'up', 'id': 1, 'report_count': 13, 'disabled': False, 'disabled_reason': None, 'created_at': '2001-01-01T00:00:00+00:00', 'updated_at': '2001-01-01T00:00:00+00:00'}]} +GET: /v1/mservices {} +GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation b5c42c97-1f09-4c21-ae11-46c2286677c6 could not be found", "detail": "Federation b5c42c97-1f09-4c21-ae11-46c2286677c6 could not be found.", "links": []}]} -DELETE: /v1/federations/fede1c0b-f667-42cb-9cc2-1dc1526980e0 -GOT:Response: 404 Not Found +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow magnum-service:get_all to be performed", "detail": "Policy doesn't allow magnum-service:get_all to be performed.", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/node_count', 'op': 'remove'}] +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation fede1c0b-f667-42cb-9cc2-1dc1526980e0 could not be found", "detail": "Federation fede1c0b-f667-42cb-9cc2-1dc1526980e0 could not be found.", "links": []}]} -DELETE: /v1/federations/federation-example -GOT:Response: 204 No Content -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version - -DELETE: /v1/federations/foo -GOT:Response: 404 Not Found +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/node_count' is an internal attribute and can not be updated", "detail": "'/node_count' is an internal attribute and can not be updated", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/min_node_count', 'op': 'remove'}] +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation foo could not be found", "detail": "Federation foo could not be found.", "links": []}]}magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation_with_name_not_found -magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation_with_name_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail_against_single -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail_against_single ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_min_node_count_failed -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_min_node_count_failed ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_node_count_failed -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_node_count_failed ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail_with_pagination_marker -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail_with_pagination_marker ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_empty -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_empty ... ok - -GOT:{'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'cluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 2, 'role': 'worker', 'min_node_count': 0, 'max_node_count': 5, 'is_default': False, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2026-02-19T05:12:18.240036+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} +{"id": 12, "uuid": "483203a3-dbee-4a9c-9d65-9820512f4df8", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 2, "role": "worker", "min_node_count": 0, "max_node_count": 5, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2025-01-16T22:53:57.523152+00:00", "updated_at": null} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 {} +GOT:{'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'cluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 2, 'role': 'worker', 'min_node_count': 0, 'max_node_count': 5, 'is_default': False, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2025-01-16T22:53:57.523152+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/not_there', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json @@ -7560,10 +8346,26 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"id": 12, "uuid": "483203a3-dbee-4a9c-9d65-9820512f4df8", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 2, "role": "worker", "min_node_count": 2, "max_node_count": null, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2026-02-19T05:12:18.304120+00:00", "updated_at": null} +{"id": 12, "uuid": "483203a3-dbee-4a9c-9d65-9820512f4df8", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 2, "role": "worker", "min_node_count": 2, "max_node_count": null, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2025-01-16T22:53:57.619159+00:00", "updated_at": null} GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 {} -GOT:{'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'cluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 2, 'role': 'worker', 'min_node_count': 2, 'max_node_count': None, 'is_default': False, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2026-02-19T05:12:18.304120+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/max_node_count', 'value': 1, 'op': 'replace'}] +GOT:{'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'cluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 2, 'role': 'worker', 'min_node_count': 2, 'max_node_count': None, 'is_default': False, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2025-01-16T22:53:57.619159+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/max_node_count', 'value': 1, 'op': 'replace'}]magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_max_node_count_failed +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_max_node_count_failed ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_min_node_count_failed +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_min_node_count_failed ... ok +magnum.tests.unit.common.test_utils.UtilsTestCase.test_get_k8s_quantity +magnum.tests.unit.common.test_utils.UtilsTestCase.test_get_k8s_quantity ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_node_count_failed +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_node_count_failed ... ok +magnum.tests.unit.common.test_utils.UtilsTestCase.test_get_openstasck_ca +magnum.tests.unit.common.test_utils.UtilsTestCase.test_get_openstasck_ca ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_ok ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_ok_by_name +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_ok_by_name ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_wrong_microversion +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_wrong_microversion ... ok + GOT:Response: 409 Conflict Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 @@ -7594,105 +8396,9 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"id": 12, "uuid": "483203a3-dbee-4a9c-9d65-9820512f4df8", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 2, "role": "worker", "min_node_count": 2, "max_node_count": 4, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2026-02-19T05:12:18.419004+00:00", "updated_at": null} +{"id": 12, "uuid": "483203a3-dbee-4a9c-9d65-9820512f4df8", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 2, "role": "worker", "min_node_count": 2, "max_node_count": 4, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2025-01-16T22:53:57.782437+00:00", "updated_at": null} GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 {} -GOT:{'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'cluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 2, 'role': 'worker', 'min_node_count': 2, 'max_node_count': 4, 'is_default': False, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2026-02-19T05:12:18.419004+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_ok ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_ok_by_name -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_ok_by_name ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_all_with_pagination_marker -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_all_with_pagination_marker ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_wrong_microversion -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_wrong_microversion ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_update_nodegroup_as_admin -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_update_nodegroup_as_admin ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name_multiple_federation -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name_multiple_federation ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name_not_found -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_master_ng -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_master_ng ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_uuid -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_uuid ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_uuid_not_found -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_uuid_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_cluster_no_api_address -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_cluster_no_api_address ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_links -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_links ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_same_name -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_same_name ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_with_labels -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_with_labels ... ok - -GET: /v1/federations/detail {} -GOT:{'federations': [{'uuid': 'ae4c73d3-024f-4490-ab8f-eaae5b267207', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/ae4c73d3-024f-4490-ab8f-eaae5b267207', 'rel': 'self'}, {'href': 'http://localhost/federations/ae4c73d3-024f-4490-ab8f-eaae5b267207', 'rel': 'bookmark'}], 'created_at': '2026-02-19T05:12:18.330517+00:00', 'updated_at': None}]} -GET: /v1/federations/7b22a1f3-0dc0-4b38-944e-296d39abc81a/detail {} -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "The %(name)s resource %(id)s could not be found", "detail": "The %(name)s resource %(id)s could not be found.", "links": []}]} -GET: /v1/federations/detail?limit=3&marker=0a6cdfda-9650-452e-b555-dbc0e54eae90 {} -GOT:{'federations': [{'uuid': '53a3876e-8b34-4952-adf0-d9fdab16b6fa', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/53a3876e-8b34-4952-adf0-d9fdab16b6fa', 'rel': 'self'}, {'href': 'http://localhost/federations/53a3876e-8b34-4952-adf0-d9fdab16b6fa', 'rel': 'bookmark'}], 'created_at': '2026-02-19T05:12:18.366308+00:00', 'updated_at': None}]} -GET: /v1/federations {} -GOT:{'federations': []} -GET: /v1/federations?limit=3&marker=2fc879d8-3e1a-4f95-b540-d17671c9a76c {} -GOT:{'federations': [{'uuid': '02f16d10-b07f-4177-bd91-61a199a7055c', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/02f16d10-b07f-4177-bd91-61a199a7055c', 'rel': 'self'}, {'href': 'http://localhost/federations/02f16d10-b07f-4177-bd91-61a199a7055c', 'rel': 'bookmark'}]}]} -GET: /v1/federations/20c1dbea-c156-4406-ab70-2a4127aa0edc {} -GOT:{'uuid': '20c1dbea-c156-4406-ab70-2a4127aa0edc', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/20c1dbea-c156-4406-ab70-2a4127aa0edc', 'rel': 'self'}, {'href': 'http://localhost/federations/20c1dbea-c156-4406-ab70-2a4127aa0edc', 'rel': 'bookmark'}], 'created_at': '2026-02-19T05:12:18.497935+00:00', 'updated_at': None} -GET: /v1/federations/fake-name {} -GOT:{'uuid': '74055c73-67d8-4170-84e1-24a35b073aa6', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/74055c73-67d8-4170-84e1-24a35b073aa6', 'rel': 'self'}, {'href': 'http://localhost/federations/74055c73-67d8-4170-84e1-24a35b073aa6', 'rel': 'bookmark'}], 'created_at': '2026-02-19T05:12:18.513886+00:00', 'updated_at': None} -GET: /v1/federations/test_federation {} -GOT:Response: 409 Conflict -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Multiple federations exist with same name", "detail": "Multiple federations exist with same name. Please use the federation uuid instead.", "links": []}]} -GET: /v1/federations/not_found {} -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation not_found could not be found", "detail": "Federation not_found could not be found.", "links": []}]} -GET: /v1/federations/0d872f6b-5eea-4056-b245-117f2b02d9eb {} -GOT:{'uuid': '0d872f6b-5eea-4056-b245-117f2b02d9eb', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/0d872f6b-5eea-4056-b245-117f2b02d9eb', 'rel': 'self'}, {'href': 'http://localhost/federations/0d872f6b-5eea-4056-b245-117f2b02d9eb', 'rel': 'bookmark'}], 'created_at': '2026-02-19T05:12:18.559494+00:00', 'updated_at': None} -GET: /v1/federations/1919be14-16b0-4363-8656-44c23842aa0a {} -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation 1919be14-16b0-4363-8656-44c23842aa0a could not be found", "detail": "Federation 1919be14-16b0-4363-8656-44c23842aa0a could not be found.", "links": []}]} -GET: /v1/federations/aa199350-7317-45d9-a7cc-7efe56836e99 {} -GOT:{'uuid': 'aa199350-7317-45d9-a7cc-7efe56836e99', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/aa199350-7317-45d9-a7cc-7efe56836e99', 'rel': 'self'}, {'href': 'http://localhost/federations/aa199350-7317-45d9-a7cc-7efe56836e99', 'rel': 'bookmark'}], 'created_at': '2026-02-19T05:12:18.589894+00:00', 'updated_at': None} -GET: /v1/federations/aa199350-7317-45d9-a7cc-7efe56836e99 {} -GOT:{'uuid': 'aa199350-7317-45d9-a7cc-7efe56836e99', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/aa199350-7317-45d9-a7cc-7efe56836e99', 'rel': 'self'}, {'href': 'http://localhost/federations/aa199350-7317-45d9-a7cc-7efe56836e99', 'rel': 'bookmark'}], 'created_at': '2026-02-19T05:12:18.589894+00:00', 'updated_at': None} -GET: /federations/aa199350-7317-45d9-a7cc-7efe56836e99 {} -GOT:{'uuid': 'aa199350-7317-45d9-a7cc-7efe56836e99', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/aa199350-7317-45d9-a7cc-7efe56836e99', 'rel': 'self'}, {'href': 'http://localhost/federations/aa199350-7317-45d9-a7cc-7efe56836e99', 'rel': 'bookmark'}], 'created_at': '2026-02-19T05:12:18.589894+00:00', 'updated_at': None} -GET: /v1/federations {} -GOT:{'federations': [{'uuid': '569c0e6e-c37b-415c-8d12-b2605bd0f1c2', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/569c0e6e-c37b-415c-8d12-b2605bd0f1c2', 'rel': 'self'}, {'href': 'http://localhost/federations/569c0e6e-c37b-415c-8d12-b2605bd0f1c2', 'rel': 'bookmark'}]}, {'uuid': 'debb54b1-52fb-41a2-88fc-ad5cf76f7e89', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/debb54b1-52fb-41a2-88fc-ad5cf76f7e89', 'rel': 'self'}, {'href': 'http://localhost/federations/debb54b1-52fb-41a2-88fc-ad5cf76f7e89', 'rel': 'bookmark'}]}, {'uuid': '27098854-ac40-4b96-9da1-25fbb2a29afa', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/27098854-ac40-4b96-9da1-25fbb2a29afa', 'rel': 'self'}, {'href': 'http://localhost/federations/27098854-ac40-4b96-9da1-25fbb2a29afa', 'rel': 'bookmark'}]}, {'uuid': '169938dc-7ed3-4117-a259-db895e816526', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/169938dc-7ed3-4117-a259-db895e816526', 'rel': 'self'}, {'href': 'http://localhost/federations/169938dc-7ed3-4117-a259-db895e816526', 'rel': 'bookmark'}]}, {'uuid': '65ca0dcb-6485-404b-95c3-99e4e7a351e9', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/65ca0dcb-6485-404b-95c3-99e4e7a351e9', 'rel': 'self'}, {'href': 'http://localhost/federations/65ca0dcb-6485-404b-95c3-99e4e7a351e9', 'rel': 'bookmark'}]}]}magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_many -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_many ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_one -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_one ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_generate_uuid -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_generate_uuid ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_hostcluster_does_not_exist -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_hostcluster_does_not_exist ... ok - +GOT:{'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'cluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 2, 'role': 'worker', 'min_node_count': 2, 'max_node_count': 4, 'is_default': False, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2025-01-16T22:53:57.782437+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/max_node_count', 'value': 4, 'op': 'replace'}] GOT:Response: 202 Accepted Content-Type: application/json @@ -7700,21 +8406,37 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"id": 12, "uuid": "483203a3-dbee-4a9c-9d65-9820512f4df8", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 2, "role": "worker", "min_node_count": 2, "max_node_count": 4, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2026-02-19T05:12:18.457126+00:00", "updated_at": null} +{"id": 12, "uuid": "483203a3-dbee-4a9c-9d65-9820512f4df8", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 2, "role": "worker", "min_node_count": 2, "max_node_count": 4, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2025-01-16T22:53:57.833718+00:00", "updated_at": null} GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 {} -GOT:{'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'cluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 2, 'role': 'worker', 'min_node_count': 2, 'max_node_count': 4, 'is_default': False, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2026-02-19T05:12:18.457126+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} +GOT:{'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'cluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 2, 'role': 'worker', 'min_node_count': 2, 'max_node_count': 4, 'is_default': False, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2025-01-16T22:53:57.833718+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/max_node_count', 'value': 4, 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json {"errors": [{"request_id": "", "code": "", "status": 406, "title": "", "detail": "", "links": []}]} -PATCH: /v1/clusters/11156a8f-fde3-4421-bb2e-eed30ef4cdb7/nodegroups/ad23f0ae-358e-409a-a6db-5ffef25069a4 [{'path': '/max_node_count', 'value': 4, 'op': 'replace'}] +PATCH: /v1/clusters/00bd312f-c8db-457f-932b-232879af017c/nodegroups/a6d09aad-800d-476e-9911-a25d7ef1e584 [{'path': '/max_node_count', 'value': 4, 'op': 'replace'}] GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"id": 50, "uuid": "ad23f0ae-358e-409a-a6db-5ffef25069a4", "name": "nodegroup1", "cluster_id": "11156a8f-fde3-4421-bb2e-eed30ef4cdb7", "project_id": "fake", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/11156a8f-fde3-4421-bb2e-eed30ef4cdb7/nodegroups/ad23f0ae-358e-409a-a6db-5ffef25069a4", "rel": "self"}, {"href": "http://localhost/clusters/11156a8f-fde3-4421-bb2e-eed30ef4cdb7/nodegroups/ad23f0ae-358e-409a-a6db-5ffef25069a4", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": 4, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2026-02-19T05:12:18.522635+00:00", "updated_at": null} +{"id": 50, "uuid": "a6d09aad-800d-476e-9911-a25d7ef1e584", "name": "nodegroup1", "cluster_id": "00bd312f-c8db-457f-932b-232879af017c", "project_id": "fake", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/00bd312f-c8db-457f-932b-232879af017c/nodegroups/a6d09aad-800d-476e-9911-a25d7ef1e584", "rel": "self"}, {"href": "http://localhost/clusters/00bd312f-c8db-457f-932b-232879af017c/nodegroups/a6d09aad-800d-476e-9911-a25d7ef1e584", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": 4, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2025-01-16T22:53:57.924842+00:00", "updated_at": null}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_update_nodegroup_as_admin +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_update_nodegroup_as_admin ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_master_ng +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_master_ng ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_cluster_no_api_address +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_cluster_no_api_address ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_same_name +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_same_name ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_with_labels +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_with_labels ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_with_merge_labels +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_with_merge_labels ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_with_merge_labels_no_labels +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_with_merge_labels_no_labels ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_wrong_microversion +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_wrong_microversion ... ok + POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'master', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} GOT:Response: 400 Bad Request Content-Type: application/json @@ -7746,127 +8468,15 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"id": 12, "uuid": "cd03a226-0a81-4aaf-840d-b43a6b8b214e", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {"label3": "value3"}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/cd03a226-0a81-4aaf-840d-b43a6b8b214e", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/cd03a226-0a81-4aaf-840d-b43a6b8b214e", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {"label3": "value3"}, "labels_skipped": {"label1": "value1", "label2": "value2"}, "created_at": "2026-02-19T05:12:18.639616+00:00", "updated_at": null} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': {'label1': 'value3', 'label4': 'value4'}, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': True}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_with_merge_labels -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_with_merge_labels ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_with_merge_labels_no_labels -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_with_merge_labels_no_labels ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_wrong_microversion -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_wrong_microversion ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_no_dns_zone_name -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_no_dns_zone_name ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_no_hostcluster_id -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_no_hostcluster_id ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_invalid_node_count -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_invalid_node_count ... ok - -GET: /v1/federations {} -GOT:{'federations': [{'uuid': '04b2886a-e2a1-4a6f-9b61-8dbcfe749273', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/04b2886a-e2a1-4a6f-9b61-8dbcfe749273', 'rel': 'self'}, {'href': 'http://localhost/federations/04b2886a-e2a1-4a6f-9b61-8dbcfe749273', 'rel': 'bookmark'}]}]} -POST: /v1/federations {'uuid': '540cb61f-9c9d-4c71-b6bd-2e65f9d19f07', 'name': 'fake-name', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "0834700e-3ad6-42f2-8616-cb7ac428f322"} -POST: /v1/federations {'name': 'fake-name', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "83a84828-418b-418e-847a-16ae5ae09580"} -POST: /v1/federations {'uuid': 'acede25a-ec60-4ce5-850a-cd85b5566015', 'name': 'fake-name', 'hostcluster_id': '7c571e75-7f90-48bf-bc4a-01ba2be88a80', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 7c571e75-7f90-48bf-bc4a-01ba2be88a80 could not be found", "detail": "Cluster 7c571e75-7f90-48bf-bc4a-01ba2be88a80 could not be found.", "links": []}]} -POST: /v1/federations {'uuid': 'ceb90e16-46f0-4a50-b36b-4e8781482f7e', 'name': 'fake-name', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Please specify a `properties` dict for the federation", "detail": "Please specify a `properties` dict for the federation.", "links": []}]} -POST: /v1/federations {'uuid': '37e6cf2f-06ec-48d6-b8fe-c915710e2cb7', 'name': 'fake-name', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "No hostcluster specified", "detail": "No hostcluster specified. Please specify a hostcluster_id.", "links": []}]} -POST: /v1/federations {'uuid': 'c876d7b7-b0d5-4297-9cf6-ee6c395a5c42', 'name': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'. Value should have a maximum character requirement of 242", "links": []}]} -POST: /v1/federations {'uuid': '1e2d62df-1983-4bf9-b92d-b2e87149f134', 'name': '123456', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: '123456'. Value should match the pattern ^[a-zA-Z][a-zA-Z0-9_.-]*$", "links": []}]} -POST: /v1/federations {'uuid': '157d3e5f-fbfb-4f51-9867-93aef8320576', 'name': '123456test_federation', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: '123456test_federation'. Value should match the pattern ^[a-zA-Z][a-zA-Z0-9_.-]*$", "links": []}]} -POST: /v1/federations {'uuid': 'd9bad111-2eab-4806-9654-71fd4e05f450', 'name': '-test_federation', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: '-test_federation'. Value should match the pattern ^[a-zA-Z][a-zA-Z0-9_.-]*$", "links": []}]} -POST: /v1/federations {'uuid': '5c17d84f-c365-4ede-876d-c328dbe212b0', 'name': '.test_federation', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: '.test_federation'. Value should match the pattern ^[a-zA-Z][a-zA-Z0-9_.-]*$", "links": []}]}magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_with_invalid_name -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_with_invalid_name ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_without_name -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_without_name ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_only_name -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_only_name ... ok -magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceController.test_empty -magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceController.test_empty ... ok -magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceController.test_get_many -magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceController.test_get_many ... ok -magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceController.test_get_one -magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceController.test_get_one ... ok -magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceEnforcement.test_policy_disallow_get_all -magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceEnforcement.test_policy_disallow_get_all ... ok -magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceObject.test_msvc_obj_fields_filtering -magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceObject.test_msvc_obj_fields_filtering ... ok - +{"id": 12, "uuid": "eb83a93b-1bc1-4471-a465-926b9adda19a", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {"label3": "value3"}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/eb83a93b-1bc1-4471-a465-926b9adda19a", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/eb83a93b-1bc1-4471-a465-926b9adda19a", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {"label3": "value3"}, "labels_skipped": {"label1": "value1", "label2": "value2"}, "created_at": "2025-01-16T22:53:58.094897+00:00", "updated_at": null} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': {'label1': 'value3', 'label4': 'value4'}, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': True} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"id": 12, "uuid": "ea3c2e9e-c1fd-46a0-9c0b-fc9d8653cb20", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {"label1": "value3", "label2": "value2", "label4": "value4"}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/ea3c2e9e-c1fd-46a0-9c0b-fc9d8653cb20", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/ea3c2e9e-c1fd-46a0-9c0b-fc9d8653cb20", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {"label1": "value1"}, "labels_added": {"label4": "value4"}, "labels_skipped": {}, "created_at": "2026-02-19T05:12:18.670077+00:00", "updated_at": null} +{"id": 12, "uuid": "b1306bc8-e5ba-43f1-9dad-8fe327f82f57", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {"label1": "value3", "label2": "value2", "label4": "value4"}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/b1306bc8-e5ba-43f1-9dad-8fe327f82f57", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/b1306bc8-e5ba-43f1-9dad-8fe327f82f57", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {"label1": "value1"}, "labels_added": {"label4": "value4"}, "labels_skipped": {}, "created_at": "2025-01-16T22:53:58.137779+00:00", "updated_at": null} POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': True} GOT:Response: 202 Accepted Content-Type: application/json @@ -7874,7 +8484,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"id": 12, "uuid": "4bcc5f49-9dde-4828-bcc9-da8727208198", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {"label1": "value1", "label2": "value2"}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/4bcc5f49-9dde-4828-bcc9-da8727208198", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/4bcc5f49-9dde-4828-bcc9-da8727208198", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2026-02-19T05:12:18.699800+00:00", "updated_at": null} +{"id": 12, "uuid": "8a1ccdc0-4e03-4d0d-9a49-8503e87e5a42", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {"label1": "value1", "label2": "value2"}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/8a1ccdc0-4e03-4d0d-9a49-8503e87e5a42", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/8a1ccdc0-4e03-4d0d-9a49-8503e87e5a42", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2025-01-16T22:53:58.180071+00:00", "updated_at": null} POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'new_ng', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} GOT:Response: 406 Not Acceptable Content-Type: application/json @@ -7886,7 +8496,19 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"id": 12, "uuid": "c2dfe5bd-05ff-424d-bfc8-e9070d0b5345", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/c2dfe5bd-05ff-424d-bfc8-e9070d0b5345", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/c2dfe5bd-05ff-424d-bfc8-e9070d0b5345", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} +{"id": 12, "uuid": "45a787c4-9f08-46d1-b976-4fcdb496f1cc", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/45a787c4-9f08-46d1-b976-4fcdb496f1cc", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/45a787c4-9f08-46d1-b976-4fcdb496f1cc", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_invalid_node_count +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_invalid_node_count ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_only_name +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_only_name ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_flavor +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_flavor ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_image_id +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_image_id ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_labels +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_labels ... ok + POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 7, 'role': 'worker', 'max_node_count': 5, 'min_node_count': 1, 'merge_labels': False} GOT:Response: 409 Conflict Content-Type: application/json @@ -7910,7 +8532,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"id": 3, "uuid": "647cfea9-ac03-44e6-a4d0-d009fd592288", "name": "test_ng", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/647cfea9-ac03-44e6-a4d0-d009fd592288", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/647cfea9-ac03-44e6-a4d0-d009fd592288", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 1, "role": "worker", "min_node_count": 0, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} +{"id": 3, "uuid": "0235f246-b098-4154-875e-c6f7b0ef039d", "name": "test_ng", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/0235f246-b098-4154-875e-c6f7b0ef039d", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/0235f246-b098-4154-875e-c6f7b0ef039d", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 1, "role": "worker", "min_node_count": 0, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': 'test_flavor', 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -7918,29 +8540,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"id": 12, "uuid": "79bd06bc-11b8-4be2-8318-da74a92956bd", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/79bd06bc-11b8-4be2-8318-da74a92956bd", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/79bd06bc-11b8-4be2-8318-da74a92956bd", "rel": "bookmark"}], "flavor_id": "test_flavor", "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_flavor -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_flavor ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_image_id -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_image_id ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_labels -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_labels ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_as_admin -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_as_admin ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_max_node_count -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_max_node_count ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_name -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_name ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_role -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_role ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_name_non_default_ngs -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_name_non_default_ngs ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_zero_nodes -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_zero_nodes ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_non_existent_role -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_non_existent_role ... ok - +{"id": 12, "uuid": "e8aeec54-79e8-45a4-8000-03cec9af768f", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/e8aeec54-79e8-45a4-8000-03cec9af768f", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/e8aeec54-79e8-45a4-8000-03cec9af768f", "rel": "bookmark"}], "flavor_id": "test_flavor", "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -7948,7 +8548,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"id": 12, "uuid": "cbf039c0-3e1a-4c02-be96-bcee4bddd1b3", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/cbf039c0-3e1a-4c02-be96-bcee4bddd1b3", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/cbf039c0-3e1a-4c02-be96-bcee4bddd1b3", "rel": "bookmark"}], "flavor_id": null, "image_id": "test_image", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} +{"id": 12, "uuid": "96cc28c8-0cbe-4ad7-a8a6-ecc1396392a4", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/96cc28c8-0cbe-4ad7-a8a6-ecc1396392a4", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/96cc28c8-0cbe-4ad7-a8a6-ecc1396392a4", "rel": "bookmark"}], "flavor_id": null, "image_id": "test_image", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': {'label1': 'value1'}, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -7956,7 +8556,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"id": 12, "uuid": "7e2a38e4-6656-40ec-88cf-90f60c43085f", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {"label1": "value1"}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/7e2a38e4-6656-40ec-88cf-90f60c43085f", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/7e2a38e4-6656-40ec-88cf-90f60c43085f", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {"label1": "value1"}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} +{"id": 12, "uuid": "9b722370-faa4-483a-bca3-37aa11112d61", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {"label1": "value1"}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/9b722370-faa4-483a-bca3-37aa11112d61", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/9b722370-faa4-483a-bca3-37aa11112d61", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {"label1": "value1"}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': 5, 'min_node_count': 1, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -7964,34 +8564,86 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"id": 12, "uuid": "bfa7f1a3-0106-44dd-a93c-5ad0eca97d45", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/bfa7f1a3-0106-44dd-a93c-5ad0eca97d45", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/bfa7f1a3-0106-44dd-a93c-5ad0eca97d45", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": 5, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'test-role', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"id": 12, "uuid": "e42898a8-3c55-43e8-9f8a-07d18cdf6bcc", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/e42898a8-3c55-43e8-9f8a-07d18cdf6bcc", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/e42898a8-3c55-43e8-9f8a-07d18cdf6bcc", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "test-role", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 0, 'role': 'worker', 'max_node_count': None, 'min_node_count': 0, 'merge_labels': False} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"id": 12, "uuid": "875c9489-e940-43f3-92f7-c9503595d427", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/875c9489-e940-43f3-92f7-c9503595d427", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/875c9489-e940-43f3-92f7-c9503595d427", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 0, "role": "worker", "min_node_count": 0, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"id": 12, "uuid": "46189d71-f49f-44b2-8ebb-aab7678c191d", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/46189d71-f49f-44b2-8ebb-aab7678c191d", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/46189d71-f49f-44b2-8ebb-aab7678c191d", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 1, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_without_node_count +{"id": 12, "uuid": "935d63b7-6ad6-4e56-8085-afb4e05e0212", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/935d63b7-6ad6-4e56-8085-afb4e05e0212", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/935d63b7-6ad6-4e56-8085-afb4e05e0212", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": 5, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_max_node_count +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_max_node_count ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_role +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_role ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_zero_nodes +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_zero_nodes ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_without_node_count magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_without_node_count ... ok magnum.tests.unit.api.controllers.v1.test_quota.TestQuotaObject.test_quota_init magnum.tests.unit.api.controllers.v1.test_quota.TestQuotaObject.test_quota_init ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_all_stats +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_all_stats ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_invalid_tenant_stats +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_invalid_tenant_stats ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_tenant_stats +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_tenant_stats ... ok +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_empty +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_empty ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_has_publickey +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_has_publickey ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_invalid_type_stats +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_invalid_type_stats ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_self_stats +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_self_stats ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_self_stats_without_param +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_self_stats_without_param ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_some_other_user_stats +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_some_other_user_stats ... ok magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_frombasetype_no_value magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_frombasetype_no_value ... ok magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_invalid_value @@ -8000,126 +8652,34 @@ magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_valid_false_values ... ok magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_valid_true_values magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_valid_true_values ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_add_internal_attr -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_add_internal_attr ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_add_with_no_value -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_add_with_no_value ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_extra_non_removable_attr -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_extra_non_removable_attr ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_internal_attr -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_internal_attr ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_mandatory_attr -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_mandatory_attr ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_replace_with_no_value -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_replace_with_no_value ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_update_internal_attr -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_update_internal_attr ... ok - -POST: /v1/federations {'uuid': '6d11cf8b-3f2a-49f0-914e-1a227a787246', 'name': '_test_federation', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: '_test_federation'. Value should match the pattern ^[a-zA-Z][a-zA-Z0-9_.-]*$", "links": []}]} -POST: /v1/federations {'uuid': '18797ff3-1e8a-4b2f-9b16-0d94915a01f7', 'name': '', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: ''. Value should have a minimum character requirement of 1", "links": []}]} -POST: /v1/federations {'uuid': '296262e9-2d85-40aa-b6c0-d84adeabc1fc', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "b318ec3b-70b3-419c-9877-f190444c41e5"} -GET: /v1/mservices {} -GOT:{'mservices': []} -GET: /v1/mservices {} -GOT:{'mservices': [{'host': 'fake-host', 'binary': 'magnum-conductor', 'state': 'up', 'id': 1, 'report_count': 13, 'disabled': False, 'disabled_reason': None, 'created_at': '2001-01-01T00:00:00+00:00', 'updated_at': '2001-01-01T00:00:00+00:00'}, {'host': 'fake-host', 'binary': 'magnum-conductor', 'state': 'up', 'id': 2, 'report_count': 13, 'disabled': False, 'disabled_reason': None, 'created_at': '2001-01-01T00:00:00+00:00', 'updated_at': '2001-01-01T00:00:00+00:00'}, {'host': 'fake-host', 'binary': 'magnum-conductor', 'state': 'up', 'id': 3, 'report_count': 13, 'disabled': False, 'disabled_reason': None, 'created_at': '2001-01-01T00:00:00+00:00', 'updated_at': '2001-01-01T00:00:00+00:00'}, {'host': 'fake-host', 'binary': 'magnum-conductor', 'state': 'up', 'id': 4, 'report_count': 13, 'disabled': False, 'disabled_reason': None, 'created_at': '2001-01-01T00:00:00+00:00', 'updated_at': '2001-01-01T00:00:00+00:00'}, {'host': 'fake-host', 'binary': 'magnum-conductor', 'state': 'up', 'id': 5, 'report_count': 13, 'disabled': False, 'disabled_reason': None, 'created_at': '2001-01-01T00:00:00+00:00', 'updated_at': '2001-01-01T00:00:00+00:00'}]} -GET: /v1/mservices {} -GOT:{'mservices': [{'host': 'fake-host', 'binary': 'magnum-conductor', 'state': 'up', 'id': 1, 'report_count': 13, 'disabled': False, 'disabled_reason': None, 'created_at': '2001-01-01T00:00:00+00:00', 'updated_at': '2001-01-01T00:00:00+00:00'}]} -GET: /v1/mservices {} -GOT:Response: 403 Forbidden -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow magnum-service:get_all to be performed", "detail": "Policy doesn't allow magnum-service:get_all to be performed.", "links": []}]} -GET: /v1/clusters/22bb3337-4920-4b50-b609-c5f75203e10b/nodegroups {} -GOT:{'nodegroups': [{'uuid': 'a73dcef4-ed31-4685-8181-293a0af0e4e1', 'name': 'test-worker', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'worker', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}, {'uuid': 'ebb1aef7-a2fc-428b-b047-039225352069', 'name': 'test-master', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'master', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}]} -GET: /v1/clusters/1e56a4e8-d6b8-449b-a364-13bb02b3cac6/nodegroups {} -GOT:{'nodegroups': [{'uuid': '7e36376d-4f3d-4750-bf8e-0d8ab6bfd1ff', 'name': 'test-worker', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'worker', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}, {'uuid': '61c38546-39ff-4efe-aa43-3e4e7c4e1feb', 'name': 'test-master', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'master', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}]} -GET: /v1/clusters/cluster1/nodegroups {} -GOT:{'nodegroups': [{'uuid': 'f3c7c7eb-b2f9-40b1-ab7e-a45991abde38', 'name': 'test-worker', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'worker', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}, {'uuid': '5f7a3c48-f507-4a12-b22d-2ea3c8f9c366', 'name': 'test-master', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'master', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}]} -GET: /v1/clusters/cluster1/nodegroups {} -GOT:{'nodegroups': [{'uuid': 'ed69765b-9d3b-43d4-bc55-acbf8093bbaf', 'name': 'test-worker', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'worker', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}, {'uuid': 'c12d3ac5-7d4a-44d9-bb83-f59e64caec53', 'name': 'test-master', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'master', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}, {'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'non_default_ng', 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}]} -GET: /v1/clusters/cluster1/nodegroups?role=non-existent {} -GOT:{'nodegroups': []} -GET: /v1/clusters/cluster1/nodegroups?role=master {} -GOT:{'nodegroups': [{'uuid': 'ba65d58c-2f67-4329-9a10-d0960d776d26', 'name': 'test-master', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'master', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}]} -GET: /v1/clusters/cluster1/nodegroups?role=worker {} -GOT:{'nodegroups': [{'uuid': '6667a2d4-6d7e-4001-bf60-255736529b27', 'name': 'test-worker', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'worker', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}]}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_role -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_role ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_non_existent_cluster -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_non_existent_cluster ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_with_pagination_marker -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_with_pagination_marker ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_wrong_microversion -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_wrong_microversion ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_invalid_op -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_invalid_op ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_invalid_path -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_invalid_path ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_missing_required_fields_op -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_missing_required_fields_op ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_as_admin -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_as_admin ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_missing_required_fields_path -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_missing_required_fields_path ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_update_mandatory_attr -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_update_mandatory_attr ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_valid_patches -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_valid_patches ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_non_default -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_non_default ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_frombasetype -magnum.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_frombasetype ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_frombasetype_no_value -magnum.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_frombasetype_no_value ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_invalid_mac_addr -magnum.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_invalid_mac_addr ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_valid_mac_addr -magnum.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_valid_mac_addr ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_non_default_skipped_labels -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_non_default_skipped_labels ... ok magnum.tests.unit.api.controllers.v1.test_types.TestMultiType.test_invalid_values magnum.tests.unit.api.controllers.v1.test_types.TestMultiType.test_invalid_values ... ok magnum.tests.unit.api.controllers.v1.test_types.TestMultiType.test_multitype_tostring magnum.tests.unit.api.controllers.v1.test_types.TestMultiType.test_multitype_tostring ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_non_existent_ng -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_non_existent_ng ... ok magnum.tests.unit.api.controllers.v1.test_types.TestMultiType.test_valid_values magnum.tests.unit.api.controllers.v1.test_types.TestMultiType.test_valid_values ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_frombasetype -magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_frombasetype ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_frombasetype_no_value -magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_frombasetype_no_value ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_wrong_microversion -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_wrong_microversion ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_invalid_name -magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_invalid_name ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_valid_name -magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_valid_name ... ok +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch ... ok +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_add_attr_already_exist +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_add_attr_already_exist ... ok +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_add_attr_not_exist +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_add_attr_not_exist ... ok +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_by_name +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_by_name ... ok +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_by_uuid +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_by_uuid ... ok +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_multi_exist +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_multi_exist ... ok +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_non_exist +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_non_exist ... ok +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_resource_with_name +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_resource_with_name ... ok +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_resource_with_uuid +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_resource_with_uuid ... ok +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_limit +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_limit ... ok +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_sort_dir +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_sort_dir ... ok magnum.tests.unit.api.test_app.TestAppConfig.test_get_pecan_config magnum.tests.unit.api.test_app.TestAppConfig.test_get_pecan_config ... ok magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_external_network_with_invalid_network @@ -8132,8 +8692,6 @@ magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_fixed_network_with_invalid_network ... ok magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_fixed_network_with_multiple_valid_network magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_fixed_network_with_multiple_valid_network ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestNodeGroupPolicyEnforcement.test_policy_disallow_get_all -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestNodeGroupPolicyEnforcement.test_policy_disallow_get_all ... ok magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_fixed_network_with_valid_network magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_fixed_network_with_valid_network ... ok magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_fixed_subnet_with_invalid_subnet @@ -8186,6 +8744,16 @@ magnum.tests.unit.api.test_expose.TestExpose.test_expose_with_rest_content_types ... ok magnum.tests.unit.api.test_expose.TestExpose.test_expose_without_rest_content_types magnum.tests.unit.api.test_expose.TestExpose.test_expose_without_rest_content_types ... ok +magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_exception_success +magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_exception_success ... ok +magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_remote_error_success +magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_remote_error_success ... ok +magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_server_debug_on_clientfault +magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_server_debug_on_clientfault ... ok +magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_server_debug_on_serverfault +magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_server_debug_on_serverfault ... ok +magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback +magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback ... ok magnum.tests.unit.api.test_validation.TestValidation.test_enforce_cluster_type_not_supported magnum.tests.unit.api.test_validation.TestValidation.test_enforce_cluster_type_not_supported ... ok magnum.tests.unit.api.test_validation.TestValidation.test_enforce_cluster_type_supported @@ -8236,124 +8804,40 @@ magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_valid_create ... ok magnum.tests.unit.api.test_validation.TestValidation.test_validate_cluster_properties magnum.tests.unit.api.test_validation.TestValidation.test_validate_cluster_properties ... ok - -GET: /v1/clusters/not-here/nodegroups {} -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not-here could not be found", "detail": "Cluster not-here could not be found.", "links": []}]} -GET: /v1/clusters/82c131e5-a0f7-40ac-9f7e-d31f9c2f7046/nodegroups?limit=1 {} -GOT:{'nodegroups': [{'uuid': '108e1b57-6935-4dc4-829d-7d05ccba1db5', 'name': 'test-worker', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'worker', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}], 'next': 'http://localhost/v1/clusters/82c131e5-a0f7-40ac-9f7e-d31f9c2f7046/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=108e1b57-6935-4dc4-829d-7d05ccba1db5'} -GET: /v1/clusters/82c131e5-a0f7-40ac-9f7e-d31f9c2f7046/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=108e1b57-6935-4dc4-829d-7d05ccba1db5 {} -GOT:{'nodegroups': [{'uuid': 'e7342569-062a-4eb7-96a1-bd4080481814', 'name': 'test-master', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'master', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}], 'next': 'http://localhost/v1/clusters/82c131e5-a0f7-40ac-9f7e-d31f9c2f7046/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=e7342569-062a-4eb7-96a1-bd4080481814'} -GET: /v1/clusters/82c131e5-a0f7-40ac-9f7e-d31f9c2f7046/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=e7342569-062a-4eb7-96a1-bd4080481814 {} -GOT:{'nodegroups': []} -GET: /v1/clusters/1c584e88-0745-4ab4-9c96-818815deb5d5/nodegroups/ {} -GOT:Response: 406 Not Acceptable -Content-Type: application/json -{"errors": [{"request_id": "", "code": "", "status": 406, "title": "", "detail": "", "links": []}]} -GET: /v1/clusters/6d2b8ef6-4f9e-4083-959e-ffef2331d921/nodegroups/c5dee7b2-5118-444e-97a5-755a68535ef9 {} -GOT:{'id': 1, 'uuid': 'c5dee7b2-5118-444e-97a5-755a68535ef9', 'name': 'test-worker', 'cluster_id': '6d2b8ef6-4f9e-4083-959e-ffef2331d921', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/6d2b8ef6-4f9e-4083-959e-ffef2331d921/nodegroups/c5dee7b2-5118-444e-97a5-755a68535ef9', 'rel': 'self'}, {'href': 'http://localhost/clusters/6d2b8ef6-4f9e-4083-959e-ffef2331d921/nodegroups/c5dee7b2-5118-444e-97a5-755a68535ef9', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': 'test_image', 'node_addresses': ['172.17.2.4'], 'node_count': 3, 'role': 'worker', 'min_node_count': 1, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2026-02-19T05:12:19.135827+00:00', 'updated_at': None} -GET: /v1/clusters/e2e7e21d-70da-4b46-b321-e1a667fc3bed/nodegroups/18b22181-23f1-4a20-9086-4befbcb55208 {} -GOT:{'id': 3, 'uuid': '18b22181-23f1-4a20-9086-4befbcb55208', 'name': 'test-worker', 'cluster_id': 'e2e7e21d-70da-4b46-b321-e1a667fc3bed', 'project_id': 'e2e7e21d-70da-4b46-b321-e1a667fc3bed', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/e2e7e21d-70da-4b46-b321-e1a667fc3bed/nodegroups/18b22181-23f1-4a20-9086-4befbcb55208', 'rel': 'self'}, {'href': 'http://localhost/clusters/e2e7e21d-70da-4b46-b321-e1a667fc3bed/nodegroups/18b22181-23f1-4a20-9086-4befbcb55208', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': 'test_image', 'node_addresses': ['172.17.2.4'], 'node_count': 3, 'role': 'worker', 'min_node_count': 1, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2026-02-19T05:12:19.169453+00:00', 'updated_at': None} -GET: /v1/clusters/3b617cbc-3a58-4e4a-ba76-338e0b54979a/nodegroups/non_default_ng {} -GOT:{'id': 3, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'non_default_ng', 'cluster_id': '3b617cbc-3a58-4e4a-ba76-338e0b54979a', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {'label1': 'value3', 'label2': 'value2', 'label4': 'value4'}, 'links': [{'href': 'http://localhost/v1/clusters/3b617cbc-3a58-4e4a-ba76-338e0b54979a/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/3b617cbc-3a58-4e4a-ba76-338e0b54979a/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 3, 'role': 'worker', 'min_node_count': 1, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {'label1': 'value1'}, 'labels_added': {'label4': 'value4'}, 'labels_skipped': {}, 'created_at': '2026-02-19T05:12:19.203155+00:00', 'updated_at': None} -GET: /v1/clusters/06f20ace-0c70-43d8-a9db-eecb45101dc0/nodegroups/non_default_ng {} -GOT:{'id': 3, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'non_default_ng', 'cluster_id': '06f20ace-0c70-43d8-a9db-eecb45101dc0', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {'label1': 'value3', 'label4': 'value4'}, 'links': [{'href': 'http://localhost/v1/clusters/06f20ace-0c70-43d8-a9db-eecb45101dc0/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/06f20ace-0c70-43d8-a9db-eecb45101dc0/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 3, 'role': 'worker', 'min_node_count': 1, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {'label1': 'value1'}, 'labels_added': {'label4': 'value4'}, 'labels_skipped': {'label2': 'value2'}, 'created_at': '2026-02-19T05:12:19.231599+00:00', 'updated_at': None} -GET: /v1/clusters/d2bd7222-c2d8-4cb9-8c41-4c54668608dd/nodegroups/not-here {} -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup not-here could not be found", "detail": "Nodegroup not-here could not be found.", "links": []}]} -GET: /v1/clusters/ab12c49b-5cc0-4378-8de0-731edc8c3adb/nodegroups/991afb77-42b1-4f9b-a17f-412b69d16e0b {} -GOT:Response: 406 Not Acceptable -Content-Type: application/json -{"errors": [{"request_id": "", "code": "", "status": 406, "title": "", "detail": "", "links": []}]} -GET: /v1/clusters/fefb717a-8f19-4640-b0ad-ad784a35c00d/nodegroups {} -GOT:Response: 403 Forbidden -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow nodegroup:get_all to be performed", "detail": "Policy doesn't allow nodegroup:get_all to be performed.", "links": []}]} -GET: /v1/clusters/d7678a53-8f2b-4404-9273-1143a3f6d64d/nodegroups/15dcf450-ab6e-4bd0-ae10-37bd4b001bb8 {} -GOT:Response: 403 Forbidden -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow nodegroup:get to be performed", "detail": "Policy doesn't allow nodegroup:get to be performed.", "links": []}]}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestNodeGroupPolicyEnforcement.test_policy_disallow_get_one -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestNodeGroupPolicyEnforcement.test_policy_disallow_get_one ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_invalid_hard_limit -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_invalid_hard_limit ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_invalid_resource -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_invalid_resource ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_no_project_id -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_no_project_id ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_project_id_not_found -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_project_id_not_found ... ok -magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_http -magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_http ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_zero_quota -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_zero_quota ... ok -magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_http_config_workers -magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_http_config_workers ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_delete_quota -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_delete_quota ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_empty -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_empty ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_tenants -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_tenants ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_tenants_false -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_tenants_false ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_with_pagination_marker -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_with_pagination_marker ... ok -magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https -magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_not_all_tenants -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_not_all_tenants ... ok -magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https_no_cert -magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https_no_cert ... ok -magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https_no_key -magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https_no_key ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_non_admin -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_non_admin ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_with_non_admin_context -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_with_non_admin_context ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_with_pagination_limit -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_with_pagination_limit ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_no_config_default -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_no_config_default ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_not_authorized -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_not_authorized ... ok +magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_revision +magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_revision ... ok +magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_stamp +magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_stamp ... ok +magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_upgrade +magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_upgrade ... ok +magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_version +magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_version ... ok magnum.tests.unit.cmd.test_driver_manage.TestMagnumDriverManage.test_correct_arg_with_details_and_path magnum.tests.unit.cmd.test_driver_manage.TestMagnumDriverManage.test_correct_arg_with_details_and_path ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_with_config_default -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_with_config_default ... ok magnum.tests.unit.cmd.test_driver_manage.TestMagnumDriverManage.test_correct_arg_without_details_and_path magnum.tests.unit.cmd.test_driver_manage.TestMagnumDriverManage.test_correct_arg_without_details_and_path ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_one -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_one ... ok magnum.tests.unit.cmd.test_driver_manage.TestMagnumDriverManage.test_none_arg magnum.tests.unit.cmd.test_driver_manage.TestMagnumDriverManage.test_none_arg ... ok magnum.tests.unit.cmd.test_status.TestUpgradeChecks.test_checks magnum.tests.unit.cmd.test_status.TestUpgradeChecks.test_checks ... ok -magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanCert.test_barbican_cert -magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanCert.test_barbican_cert ... ok -magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanCert.test_barbican_cert_none_values -magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanCert.test_barbican_cert_none_values ... ok +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_delete_cert +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_delete_cert ... ok +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_get_cert +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_get_cert ... ok +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_get_cert_no_registration +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_get_cert_no_registration ... ok +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_store_cert +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_store_cert ... ok +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_store_cert_failure +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_store_cert_failure ... ok +magnum.tests.unit.common.cert_manager.test_cert_manager.TestCert.test_get_decrypted_private_key +magnum.tests.unit.common.cert_manager.test_cert_manager.TestCert.test_get_decrypted_private_key ... ok +magnum.tests.unit.common.cert_manager.test_cert_manager.TestCertManager.test_barbican_cert_manager +magnum.tests.unit.common.cert_manager.test_cert_manager.TestCertManager.test_barbican_cert_manager ... ok +magnum.tests.unit.common.cert_manager.test_cert_manager.TestCertManager.test_local_cert_manager +magnum.tests.unit.common.cert_manager.test_cert_manager.TestCertManager.test_local_cert_manager ... ok +magnum.tests.unit.common.cert_manager.test_local.TestLocalCert.test_local_cert +magnum.tests.unit.common.cert_manager.test_local.TestLocalCert.test_local_cert ... ok magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_delete_cert magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_delete_cert ... ok magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_delete_cert_with_fail @@ -8368,55 +8852,113 @@ magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_with_loading_cert_fail ... ok magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_with_loading_intermediates_fail magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_with_loading_intermediates_fail ... ok +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_with_loading_pkp_fail +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_with_loading_pkp_fail ... ok +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_with_loading_private_key_fail +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_with_loading_private_key_fail ... ok +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_without_intermediate +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_without_intermediate ... ok +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_without_pkp +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_without_pkp ... ok +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_store_cert +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_store_cert ... ok +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_store_cert_with_io_error +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_store_cert_with_io_error ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'fake-uuid'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_delete_cert +magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_delete_cert ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'fake-uuid'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_get_cert +magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_get_cert ... ok +magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_store_cert +magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_store_cert ... ok +magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_create_no_permission +magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_create_no_permission ... ok +magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_delete_no_permission +magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_delete_no_permission ... ok +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_extentions_as_ca +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_extentions_as_ca ... ok +magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_get_all_no_permission +magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_get_all_no_permission ... ok +magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_get_no_permission +magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_get_no_permission ... ok +magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_update_no_permission +magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_update_no_permission ... ok +magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_create_no_permission +magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_create_no_permission ... ok +magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_delete_no_permission +magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_delete_no_permission ... ok +magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_get_all_no_permission +magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_get_all_no_permission ... ok +magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_get_no_permission +magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_get_no_permission ... ok -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} -GOT:Response: 201 Created +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'test-role', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2026-02-19T05:12:19.346382+00:00", "updated_at": null} -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': -10} -GOT:Response: 400 Bad Request +{"id": 12, "uuid": "c5ce2829-488e-4011-b6b0-e1681e073ee6", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/c5ce2829-488e-4011-b6b0-e1681e073ee6", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/c5ce2829-488e-4011-b6b0-e1681e073ee6", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "test-role", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 0, 'role': 'worker', 'max_node_count': None, 'min_node_count': 0, 'merge_labels': False} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute hard_limit", "detail": "Invalid input for field/attribute hard_limit. Value: '-10'. Value should be greater or equal to 0", "links": []}]} -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'invalid-res', 'hard_limit': 10} -GOT:Response: 400 Bad Request +{"id": 12, "uuid": "e8d9a5a5-b770-475d-a263-2732a378fcbe", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/e8d9a5a5-b770-475d-a263-2732a378fcbe", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/e8d9a5a5-b770-475d-a263-2732a378fcbe", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 0, "role": "worker", "min_node_count": 0, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute resource", "detail": "Invalid input for field/attribute resource. Value: 'invalid-res'. Value should be one of: Cluster", "links": []}]} -POST: /v1/quotas {'id': 42, 'resource': 'Cluster', 'hard_limit': 10} +{"id": 12, "uuid": "ea89cbe8-5574-4d86-8cbf-9aae2a5d38bb", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/ea89cbe8-5574-4d86-8cbf-9aae2a5d38bb", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/ea89cbe8-5574-4d86-8cbf-9aae2a5d38bb", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 1, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} +GET: /v1/stats {} +GOT:{'clusters': 2, 'nodes': 12} +GET: /v1/stats?project_id=34 {} +GOT:{'clusters': 0, 'nodes': 0} +GET: /v1/stats?project_id=234 {} +GOT:{'clusters': 1, 'nodes': 6} +GET: /v1/stats {} +GOT:{'clusters': 0, 'nodes': 0} +GET: /v1/stats?project_id=123&type=invalid {} +GET: /v1/stats {} +GOT:{'clusters': 1, 'nodes': 6} +GET: /v1/stats {} +GOT:{'clusters': 1, 'nodes': 6} +GET: /v1/stats?project_id=123 {} +GET: / {} +GOT:Response: 500 Internal Server Error +Content-Type: application/json +{"errors": [{"request_id": "", "code": "server", "status": 500, "title": "Test exception message", "detail": "Test exception message.", "links": []}]} +GET: / {} +GOT:Response: 500 Internal Server Error +Content-Type: application/json +{"errors": [{"request_id": "", "code": "server", "status": 500, "title": "Remote error: TestException Test exception message", "detail": "Remote error: TestException Test exception message.\n['", "links": []}]} +GET: / {} GOT:Response: 400 Bad Request Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Must provide a valid project ID", "detail": "Must provide a valid project ID.", "links": []}]} -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} -GOT:Response: 404 Not Found +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Test exception message", "detail": "Test exception message.\nTraceback (most recent call last):\n File \"/opt/stack/magnum/magnum/openstack/common/rpc/amqp.py\", line 434, in _process_data\\n **args)\n File \"/opt/stack/magnum/magnum/openstack/common/rpc/dispatcher.py\", line 172, in dispatch\\n result = getattr(proxyobj, method)(context, **kwargs)", "links": []}]} +GET: / {} +GOT:Response: 500 Internal Server Error Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "The project_id fake_project could not be found", "detail": "The project_id fake_project could not be found.", "links": []}]} -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 0} -GOT:Response: 201 Created +{"errors": [{"request_id": "", "code": "server", "status": 500, "title": "Test exception message", "detail": "Test exception message.", "links": []}]} +GET: / {} +GOT:Response: 500 Internal Server Error Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"id": 42, "hard_limit": 0, "project_id": "fake_project", "resource": "Cluster", "created_at": "2026-02-19T05:12:19.415740+00:00", "updated_at": null} +{"errors": [{"request_id": "", "code": "server", "status": 500, "title": "Error message without traceback \n but \n multiline", "detail": "Error message without traceback \n but \n multiline", "links": []}]} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 +GET: /v1/clusters {} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +PATCH: /v1/clusters/cluster_example_A [{'path': '/node_count', 'value': 4, 'op': 'replace'}] +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} GOT:Response: 201 Created Content-Type: application/json @@ -8424,66 +8966,10 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2026-02-19T05:12:19.430636+00:00", "updated_at": null} +{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-01-16T22:54:00.244884+00:00", "updated_at": null} DELETE: /v1/quotas/fake_project/Cluster -GOT:Response: 204 No Content -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version - -GET: /v1/quotas/fake_project/Cluster {} -GOT:Response: 200 OK -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"hard_limit": 20, "project_id": "fake_project", "resource": "Cluster"} -GET: /v1/quotas {} -GOT:{'quotas': []} -GET: /v1/quotas?all_tenants=True {} -GOT:{'quotas': [{'id': 1, 'hard_limit': 10, 'project_id': 'proj-id-0', 'resource': 'Cluster', 'created_at': '2026-02-19T05:12:19.469007+00:00', 'updated_at': None}, {'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2026-02-19T05:12:19.469870+00:00', 'updated_at': None}, {'id': 3, 'hard_limit': 10, 'project_id': 'proj-id-2', 'resource': 'Cluster', 'created_at': '2026-02-19T05:12:19.470565+00:00', 'updated_at': None}, {'id': 4, 'hard_limit': 10, 'project_id': 'proj-id-3', 'resource': 'Cluster', 'created_at': '2026-02-19T05:12:19.471258+00:00', 'updated_at': None}]} -GET: /v1/quotas?all_tenants=False {} -GOT:{'quotas': [{'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2026-02-19T05:12:19.488377+00:00', 'updated_at': None}]} -GET: /v1/quotas?limit=3&marker=3&all_tenants=True {} -GOT:{'quotas': [{'id': 4, 'hard_limit': 10, 'project_id': 'proj-id-3', 'resource': 'Cluster', 'created_at': '2026-02-19T05:12:19.507428+00:00', 'updated_at': None}]} -GET: /v1/quotas {} -GOT:{'quotas': [{'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2026-02-19T05:12:19.526165+00:00', 'updated_at': None}]} GET: /v1/quotas {} -GOT:{'quotas': [{'id': 3, 'hard_limit': 10, 'project_id': 'proj-id-2', 'resource': 'Cluster', 'created_at': '2026-02-19T05:12:19.543528+00:00', 'updated_at': None}]} -GET: /v1/quotas?all_tenants=True {} -GOT:{'quotas': []} -GET: /v1/quotas?limit=2&all_tenants=True {} -GOT:{'quotas': [{'id': 1, 'hard_limit': 10, 'project_id': 'proj-id-0', 'resource': 'Cluster', 'created_at': '2026-02-19T05:12:19.575427+00:00', 'updated_at': None}, {'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2026-02-19T05:12:19.576160+00:00', 'updated_at': None}], 'next': 'http://localhost/v1/quotas?sort_key=id&sort_dir=asc&limit=2&marker=2'} -GET: /v1/quotas/fake_project/Cluster {} -GOT:{'id': 1, 'hard_limit': 10, 'project_id': 'fake_project', 'resource': 'Cluster', 'created_at': '2026-02-19T05:12:19.593007+00:00', 'updated_at': None} -GET: /v1/quotas/fake_project/Cluster {} -GOT:Response: 200 OK -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"hard_limit": 20, "project_id": "fake_project", "resource": "Cluster"} -GET: /v1/quotas/invalid_proj/invalid_res {} -GOT:Response: 403 Forbidden -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Not authorized", "detail": "Not authorized.", "links": []}]} GET: /v1/quotas/fake_project/Cluster {} -GOT:Response: 200 OK -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"hard_limit": 15, "project_id": "fake_project", "resource": "Cluster"} -GET: /v1/quotas {} -GOT:{'quotas': [{'id': 1, 'hard_limit': 10, 'project_id': 'fake_project', 'resource': 'Cluster', 'created_at': '2026-02-19T05:12:19.648591+00:00', 'updated_at': None}]} POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 5} GOT:Response: 201 Created Content-Type: application/json @@ -8491,141 +8977,10 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"id": 42, "hard_limit": 5, "project_id": "fake_project", "resource": "Cluster", "created_at": "2026-02-19T05:12:19.668931+00:00", "updated_at": null} -PATCH: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 20}magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_patch_quota -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_patch_quota ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_patch_quota_not_found -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_patch_quota_not_found ... ok -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_with_loading_pkp_fail -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_with_loading_pkp_fail ... ok -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_with_loading_private_key_fail -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_with_loading_private_key_fail ... ok -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_without_intermediate -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_without_intermediate ... ok -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_without_pkp -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_without_pkp ... ok -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_store_cert -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_store_cert ... ok -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_store_cert_with_io_error -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_store_cert_with_io_error ... ok -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_all_stats -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_all_stats ... ok -magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairCert.test_x509keypair_cert -magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairCert.test_x509keypair_cert ... ok -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'fake-uuid'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_delete_cert -magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_delete_cert ... ok -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'fake-uuid'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_get_cert -magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_get_cert ... ok -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_store_cert -magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_store_cert ... ok -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_invalid_tenant_stats -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_invalid_tenant_stats ... ok -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_create_no_permission -magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_create_no_permission ... ok -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_tenant_stats -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_tenant_stats ... ok -magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_delete_no_permission -magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_delete_no_permission ... ok -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_empty -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_empty ... ok -magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_get_all_no_permission -magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_get_all_no_permission ... ok -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_get_detail_no_permission -magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_get_detail_no_permission ... ok -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_invalid_type_stats -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_invalid_type_stats ... ok -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_get_no_permission -magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_get_no_permission ... ok -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_self_stats -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_self_stats ... ok -magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_update_no_permission -magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_update_no_permission ... ok -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.common.policies.test_magnum_service_policy.TestMagnumServicePolicy.test_get_all_no_permission -magnum.tests.unit.common.policies.test_magnum_service_policy.TestMagnumServicePolicy.test_get_all_no_permission ... ok -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_self_stats_without_param -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_self_stats_without_param ... ok -magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_create_no_permission -magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_create_no_permission ... ok -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_some_other_user_stats -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_some_other_user_stats ... ok -magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_delete_no_permission -magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_delete_no_permission ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_invalid_single_dns -magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_invalid_single_dns ... ok -magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_get_all_no_permission -magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_get_all_no_permission ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_valid_multi_dns -magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_valid_multi_dns ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_valid_single_dns -magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_valid_single_dns ... ok -magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_get_no_permission -magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_get_no_permission ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestUuidType.test_invalid_uuid -magnum.tests.unit.api.controllers.v1.test_types.TestUuidType.test_invalid_uuid ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestUuidType.test_valid_uuid -magnum.tests.unit.api.controllers.v1.test_types.TestUuidType.test_valid_uuid ... ok -magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_update_no_permission +{"id": 42, "hard_limit": 5, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-01-16T22:54:00.316415+00:00", "updated_at": null}magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_update_no_permission magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_update_no_permission ... ok magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican ... ok -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch ... ok magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_cached magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_cached ... ok magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_noauth @@ -8634,8 +8989,6 @@ magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_region ... ok magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance ... ok -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_add_attr_already_exist -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_add_attr_already_exist ... ok magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_cached magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_cached ... ok magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_noauth @@ -8644,16 +8997,12 @@ magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_region ... ok magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat ... ok -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_add_attr_not_exist -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_add_attr_not_exist ... ok magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_cached magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_cached ... ok magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_noauth magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_noauth ... ok magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_region magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_region ... ok -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_by_name -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_by_name ... ok magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron ... ok magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_cached @@ -8664,18 +9013,8 @@ magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_region ... ok magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova ... ok -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_by_uuid -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_by_uuid ... ok -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_multi_exist -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_multi_exist ... ok -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_non_exist -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_non_exist ... ok -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_resource_with_name -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_resource_with_name ... ok magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_cached magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_cached ... ok -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_resource_with_uuid -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_resource_with_uuid ... ok magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_noauth magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_noauth ... ok magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_region @@ -8684,142 +9023,12 @@ magnum.tests.unit.common.test_clients.ClientsTest.test_magnum_url ... ok magnum.tests.unit.common.test_clients.ClientsTest.test_url_for magnum.tests.unit.common.test_clients.ClientsTest.test_url_for ... ok -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_limit -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_limit ... ok magnum.tests.unit.common.test_exception.TestException.test_all_exceptions magnum.tests.unit.common.test_exception.TestException.test_all_exceptions ... ok magnum.tests.unit.common.test_exception.TestException.test_custom_message_is_templated magnum.tests.unit.common.test_exception.TestException.test_custom_message_is_templated ... ok magnum.tests.unit.common.test_exception.TestException.test_message_is_templated magnum.tests.unit.common.test_exception.TestException.test_message_is_templated ... ok -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_sort_dir -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_sort_dir ... ok -magnum.tests.unit.api.test_hooks.TestContextHook.test_context_hook_before_method -magnum.tests.unit.api.test_hooks.TestContextHook.test_context_hook_before_method ... ok -magnum.tests.unit.api.test_hooks.TestContextHook.test_context_hook_before_method_auth_info -magnum.tests.unit.api.test_hooks.TestContextHook.test_context_hook_before_method_auth_info ... ok -magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers -magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers ... ok -magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_already_deleted -magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_already_deleted ... ok -magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_exception_success -magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_exception_success ... ok -magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_no_candidate -magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_no_candidate ... ok -magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_remote_error_success -magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_remote_error_success ... ok -magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_server_debug_on_clientfault -magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_server_debug_on_clientfault ... ok -magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_server_debug_on_serverfault -magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_server_debug_on_serverfault ... ok -magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback -magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_all_three -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_all_three ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_created -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_created ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_latest_update -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_latest_update ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_updated -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_updated ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_check_type -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_check_type ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_all_three -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_all_three ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_create -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_create ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_old_update -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_old_update ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_update -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_update ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_forced_down -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_forced_down ... ok -magnum.tests.unit.cmd.test_conductor.TestMagnumConductor.test_conductor -magnum.tests.unit.cmd.test_conductor.TestMagnumConductor.test_conductor ... ok -magnum.tests.unit.cmd.test_conductor.TestMagnumConductor.test_conductor_config_workers -magnum.tests.unit.cmd.test_conductor.TestMagnumConductor.test_conductor_config_workers ... ok -magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_revision -magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_revision ... ok -magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_stamp -magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_stamp ... ok -magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_upgrade -magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_upgrade ... ok -magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_version -magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_version ... ok -magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_delete_cert -magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_delete_cert ... ok -magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_get_cert -magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_get_cert ... ok -magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_get_cert_no_registration -magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_get_cert_no_registration ... ok -magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_store_cert -magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_store_cert ... ok -magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_store_cert_failure -magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_store_cert_failure ... ok -magnum.tests.unit.common.cert_manager.test_cert_manager.TestCert.test_get_decrypted_private_key -magnum.tests.unit.common.cert_manager.test_cert_manager.TestCert.test_get_decrypted_private_key ... ok -magnum.tests.unit.common.cert_manager.test_cert_manager.TestCertManager.test_barbican_cert_manager -magnum.tests.unit.common.cert_manager.test_cert_manager.TestCertManager.test_barbican_cert_manager ... ok -magnum.tests.unit.common.cert_manager.test_cert_manager.TestCertManager.test_local_cert_manager -magnum.tests.unit.common.cert_manager.test_cert_manager.TestCertManager.test_local_cert_manager ... ok -magnum.tests.unit.common.cert_manager.test_local.TestLocalCert.test_local_cert -magnum.tests.unit.common.cert_manager.test_local.TestLocalCert.test_local_cert ... ok -magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_create_no_permission -magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_create_no_permission ... ok -magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_get_no_permission -magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_get_no_permission ... ok -magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_update_no_permission -magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_update_no_permission ... ok -magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_create_no_permission -magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_create_no_permission ... ok -magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_delete_no_permission -magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_delete_no_permission ... ok -magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_get_all_no_permission -magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_get_all_no_permission ... ok -magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_get_no_permission -magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_get_no_permission ... ok -magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_update_no_permission -magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_update_no_permission ... ok -magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_create_no_permission -magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_create_no_permission ... ok -magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_delete_no_permission -magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_delete_no_permission ... ok -magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_detail_list_no_permission -magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_detail_list_no_permission ... ok -magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_get_no_permission -magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_get_no_permission ... ok -magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_get_reader -magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_get_reader ... ok -magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_update_no_permission -magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_update_no_permission ... ok -magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_create_no_permission -magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_create_no_permission ... ok -magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_delete_no_permission -magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_delete_no_permission ... ok -magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_get_all_no_permission -magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_get_all_no_permission ... ok -magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_get_no_permission -magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_get_no_permission ... ok -magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_update_no_permission -magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_update_no_permission ... ok -magnum.tests.unit.common.policies.test_stats_policy.TestStatsPolicy.test_stat_admin -magnum.tests.unit.common.policies.test_stats_policy.TestStatsPolicy.test_stat_admin ... ok -magnum.tests.unit.common.policies.test_stats_policy.TestStatsPolicy.test_stat_no_permission -magnum.tests.unit.common.policies.test_stats_policy.TestStatsPolicy.test_stat_no_permission ... ok -magnum.tests.unit.common.policies.test_stats_policy.TestStatsPolicy.test_stat_reader -magnum.tests.unit.common.policies.test_stats_policy.TestStatsPolicy.test_stat_reader ... ok -magnum.tests.unit.common.test_context.ContextTestCase.test_context -magnum.tests.unit.common.test_context.ContextTestCase.test_context ... ok -magnum.tests.unit.common.test_context.ContextTestCase.test_context_with_roles -magnum.tests.unit.common.test_context.ContextTestCase.test_context_with_roles ... ok -magnum.tests.unit.common.test_context.ContextTestCase.test_request_context_sets_is_admin -magnum.tests.unit.common.test_context.ContextTestCase.test_request_context_sets_is_admin ... ok -magnum.tests.unit.common.test_context.ContextTestCase.test_to_dict_from_dict -magnum.tests.unit.common.test_context.ContextTestCase.test_to_dict_from_dict ... ok magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_access_info magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_access_info ... ok magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_no_credentials @@ -8870,120 +9079,114 @@ magnum.tests.unit.common.test_neutron.NeutronTest.test_get_fixed_subnet_id_conflict ... ok magnum.tests.unit.common.test_neutron.NeutronTest.test_get_fixed_subnet_id_notfound magnum.tests.unit.common.test_neutron.NeutronTest.test_get_fixed_subnet_id_notfound ... ok -magnum.tests.unit.common.test_rpc.TestRpc.test_add_extra_exmods -magnum.tests.unit.common.test_rpc.TestRpc.test_add_extra_exmods ... ok -magnum.tests.unit.common.test_rpc.TestRpc.test_cleanup -magnum.tests.unit.common.test_rpc.TestRpc.test_cleanup ... ok -magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_timeout -magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_timeout ... ok -magnum.tests.unit.common.test_rpc.TestRpc.test_cleanup_notifier_null -magnum.tests.unit.common.test_rpc.TestRpc.test_cleanup_notifier_null ... ok -magnum.tests.unit.common.test_rpc.TestRpc.test_cleanup_transport_null -magnum.tests.unit.common.test_rpc.TestRpc.test_cleanup_transport_null ... ok -magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_with_stack_not_found -magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_with_stack_not_found ... ok -magnum.tests.unit.common.test_rpc.TestRpc.test_clear_extra_exmods -magnum.tests.unit.common.test_rpc.TestRpc.test_clear_extra_exmods ... ok magnum.tests.unit.common.test_policy.TestPolicy.test_check_is_admin_with_admin_context_succeeds magnum.tests.unit.common.test_policy.TestPolicy.test_check_is_admin_with_admin_context_succeeds ... ok -magnum.tests.unit.common.test_rpc.TestRpc.test_get_client -magnum.tests.unit.common.test_rpc.TestRpc.test_get_client ... ok magnum.tests.unit.common.test_policy.TestPolicy.test_check_is_admin_with_user_context_fails magnum.tests.unit.common.test_policy.TestPolicy.test_check_is_admin_with_user_context_fails ... ok -magnum.tests.unit.common.test_rpc.TestRpc.test_get_client_profiler_enabled -magnum.tests.unit.common.test_rpc.TestRpc.test_get_client_profiler_enabled ... ok -magnum.tests.unit.common.test_profiler.TestProfiler.test_all_public_methods_are_traced -magnum.tests.unit.common.test_profiler.TestProfiler.test_all_public_methods_are_traced ... ok -magnum.tests.unit.common.test_rpc.TestRpc.test_get_server -magnum.tests.unit.common.test_rpc.TestRpc.test_get_server ... ok -magnum.tests.unit.common.test_profiler.TestProfiler.test_setup_profiler -magnum.tests.unit.common.test_profiler.TestProfiler.test_setup_profiler ... ok -magnum.tests.unit.common.test_rpc.TestRpc.test_get_server_profiler_enabled -magnum.tests.unit.common.test_rpc.TestRpc.test_get_server_profiler_enabled ... ok -magnum.tests.unit.common.test_profiler.TestProfiler.test_setup_profiler_without_osprofiler -magnum.tests.unit.common.test_profiler.TestProfiler.test_setup_profiler_without_osprofiler ... ok -magnum.tests.unit.common.test_rpc.TestRpc.test_get_transport_url -magnum.tests.unit.common.test_rpc.TestRpc.test_get_transport_url ... ok magnum.tests.unit.common.test_rpc.TestProfilerRequestContextSerializer.test_deserialize_context magnum.tests.unit.common.test_rpc.TestProfilerRequestContextSerializer.test_deserialize_context ... ok -magnum.tests.unit.common.test_rpc.TestRpc.test_get_transport_url_null -magnum.tests.unit.common.test_rpc.TestRpc.test_get_transport_url_null ... ok magnum.tests.unit.common.test_rpc.TestProfilerRequestContextSerializer.test_serialize_context magnum.tests.unit.common.test_rpc.TestProfilerRequestContextSerializer.test_serialize_context ... ok -magnum.tests.unit.common.test_rpc.TestRpc.test_serialize_entity -magnum.tests.unit.common.test_rpc.TestRpc.test_serialize_entity ... ok -magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir -magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir ... ok magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_context magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_context ... ok magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity ... ok -magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked -magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked ... ok magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity_null_base magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity_null_base ... ok +magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_context +magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_context ... ok +magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity +magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity ... ok +magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity_null_base +magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity_null_base ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_check_exit_code_boolean +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_check_exit_code_boolean ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_get_root_helper +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_get_root_helper ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_without_root_helper +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_without_root_helper ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_no_retry_on_success +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_no_retry_on_success ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_retry_on_failure +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_retry_on_failure ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_safe_rstrip +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_safe_rstrip ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_safe_rstrip_not_raises_exceptions +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_safe_rstrip_not_raises_exceptions ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_unknown_kwargs_raises_error +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_unknown_kwargs_raises_error ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_validate_and_normalize_mac +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_validate_and_normalize_mac ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_validate_and_normalize_mac_invalid_format +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_validate_and_normalize_mac_invalid_format ... ok +magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir +magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir ... ok +magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked +magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked ... ok magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked_error_on_rmtree magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked_error_on_rmtree ... ok +magnum.tests.unit.common.x509.test_operations.TestX509Operations.test_decrypt_key +magnum.tests.unit.common.x509.test_operations.TestX509Operations.test_decrypt_key ... ok +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_issuer_name +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_issuer_name ... ok +/usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method + warnings.warn("TestResult has no addDuration method", +magnum.tests.unit.common.x509.test_operations.TestX509Operations.test_generate_csr_and_key +magnum.tests.unit.common.x509.test_operations.TestX509Operations.test_generate_csr_and_key ... ok +magnum.tests.unit.common.x509.test_validator.TestValidators.test_disallow_ca_in_basic_constraints +magnum.tests.unit.common.x509.test_validator.TestValidators.test_disallow_ca_in_basic_constraints ... ok +magnum.tests.unit.common.x509.test_validator.TestValidators.test_disallow_ca_in_basic_constraints_not_critical +magnum.tests.unit.common.x509.test_validator.TestValidators.test_disallow_ca_in_basic_constraints_not_critical ... ok +magnum.tests.unit.common.x509.test_validator.TestValidators.test_disallow_ca_in_basic_constraints_with_non_ca +magnum.tests.unit.common.x509.test_validator.TestValidators.test_disallow_ca_in_basic_constraints_with_non_ca ... ok +magnum.tests.unit.common.x509.test_validator.TestValidators.test_filter_allowed_extensions +magnum.tests.unit.common.x509.test_validator.TestValidators.test_filter_allowed_extensions ... ok +magnum.tests.unit.common.x509.test_validator.TestValidators.test_filter_allowed_extensions_disallowed +magnum.tests.unit.common.x509.test_validator.TestValidators.test_filter_allowed_extensions_disallowed ... ok +magnum.tests.unit.common.x509.test_validator.TestValidators.test_filter_allowed_extensions_disallowed_but_not_critical +magnum.tests.unit.common.x509.test_validator.TestValidators.test_filter_allowed_extensions_disallowed_but_not_critical ... ok +magnum.tests.unit.common.x509.test_validator.TestValidators.test_merge_key_usage +magnum.tests.unit.common.x509.test_validator.TestValidators.test_merge_key_usage ... ok +magnum.tests.unit.common.x509.test_validator.TestValidators.test_merge_key_usage_disallowed +magnum.tests.unit.common.x509.test_validator.TestValidators.test_merge_key_usage_disallowed ... ok +magnum.tests.unit.common.x509.test_validator.TestValidators.test_merge_key_usage_disallowed_but_not_critical +magnum.tests.unit.common.x509.test_validator.TestValidators.test_merge_key_usage_disallowed_but_not_critical ... ok +magnum.tests.unit.common.x509.test_validator.TestValidators.test_remove_ca_key_usage +magnum.tests.unit.common.x509.test_validator.TestValidators.test_remove_ca_key_usage ... ok +magnum.tests.unit.common.x509.test_validator.TestValidators.test_remove_ca_key_usage_cert_sign +magnum.tests.unit.common.x509.test_validator.TestValidators.test_remove_ca_key_usage_cert_sign ... ok +magnum.tests.unit.common.x509.test_validator.TestValidators.test_remove_ca_key_usage_crl_sign +magnum.tests.unit.common.x509.test_validator.TestValidators.test_remove_ca_key_usage_crl_sign ... ok +magnum.tests.unit.common.x509.test_validator.TestValidators.test_remove_ca_key_usage_without_ca_usage +magnum.tests.unit.common.x509.test_validator.TestValidators.test_remove_ca_key_usage_without_ca_usage ... ok magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_create_client_files_in_cache magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_create_client_files_in_cache ... ok -magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_context -magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_context ... ok magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_create_client_files_notin_cache magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_create_client_files_notin_cache ... ok magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_create_client_files_set_file_permissions magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_create_client_files_set_file_permissions ... ok -magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity -magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity ... ok magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_create_client_files_temp_no_dir magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_create_client_files_temp_no_dir ... ok magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_certificates magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_certificates ... ok -magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity_null_base -magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity_null_base ... ok magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_certificates_if_raise_error magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_certificates_if_raise_error ... ok magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_certificates_without_cert_ref magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_certificates_without_cert_ref ... ok -magnum.tests.unit.common.test_service.TestMagnumService.test_prepare_service_with_argv_none -magnum.tests.unit.common.test_service.TestMagnumService.test_prepare_service_with_argv_none ... ok -magnum.tests.unit.common.test_service.TestMagnumService.test_prepare_service_with_argv_not_none -magnum.tests.unit.common.test_service.TestMagnumService.test_prepare_service_with_argv_not_none ... ok -magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_12 -magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_12 ... ok -magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_16 -magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_16 ... ok magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_client_files magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_client_files ... ok -magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_60 -magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_60 ... ok -magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_8 -magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_8 ... ok -magnum.tests.unit.common.test_short_id.ShortIdTest.test_generate_ids -magnum.tests.unit.common.test_short_id.ShortIdTest.test_generate_ids ... ok -magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_string -magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_string ... ok -magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid1 -magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid1 ... ok magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_client_files_none magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_client_files_none ... ok -magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_0 -magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_0 ... ok -magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_1 -magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_1 ... ok -magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_endianness -magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_endianness ... ok -magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_f -magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_f ... ok magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_generate_ca_cert magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_generate_ca_cert ... ok -magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get -magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get ... ok magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_generate_certificates magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_generate_certificates ... ok -magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get_exceed_manifest_size -magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get_exceed_manifest_size ... ok -magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get_unsupported_scheme -magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get_unsupported_scheme ... ok magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_generate_certificates_with_error magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_generate_certificates_with_error ... ok magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_generate_certificates_without_name @@ -9000,64 +9203,20 @@ magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_sign_node_certificate ... ok magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_sign_node_certificate_without_cluster_name magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_sign_node_certificate_without_cluster_name ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_check_exit_code_boolean -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_check_exit_code_boolean ... ok -magnum.tests.unit.conductor.handlers.common.test_trust_manager.TrustManagerTestCase.test_create_trustee_and_trust -magnum.tests.unit.conductor.handlers.common.test_trust_manager.TrustManagerTestCase.test_create_trustee_and_trust ... ok -magnum.tests.unit.conductor.handlers.common.test_trust_manager.TrustManagerTestCase.test_create_trustee_and_trust_with_error -magnum.tests.unit.conductor.handlers.common.test_trust_manager.TrustManagerTestCase.test_create_trustee_and_trust_with_error ... ok -magnum.tests.unit.conductor.handlers.common.test_trust_manager.TrustManagerTestCase.test_delete_trustee_and_trust -magnum.tests.unit.conductor.handlers.common.test_trust_manager.TrustManagerTestCase.test_delete_trustee_and_trust ... ok -magnum.tests.unit.conductor.handlers.common.test_trust_manager.TrustManagerTestCase.test_delete_trustee_and_trust_without_trust_id -magnum.tests.unit.conductor.handlers.common.test_trust_manager.TrustManagerTestCase.test_delete_trustee_and_trust_without_trust_id ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_get_root_helper -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_get_root_helper ... ok -magnum.tests.unit.conductor.handlers.common.test_trust_manager.TrustManagerTestCase.test_delete_trustee_and_trust_without_trustee_user_id -magnum.tests.unit.conductor.handlers.common.test_trust_manager.TrustManagerTestCase.test_delete_trustee_and_trust_without_trustee_user_id ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale ... ok magnum.tests.unit.conductor.handlers.test_ca_conductor.TestSignConductor.test_get_ca_certificate magnum.tests.unit.conductor.handlers.test_ca_conductor.TestSignConductor.test_get_ca_certificate ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables ... ok magnum.tests.unit.conductor.handlers.test_ca_conductor.TestSignConductor.test_sign_certificate magnum.tests.unit.conductor.handlers.test_ca_conductor.TestSignConductor.test_sign_certificate ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_without_root_helper -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_without_root_helper ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_no_retry_on_success -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_no_retry_on_success ... ok magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_delete magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_delete ... ok magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_delete_conflict magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_delete_conflict ... ok magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_delete_with_lb magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_delete_with_lb ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_retry_on_failure -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_retry_on_failure ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_safe_rstrip -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_safe_rstrip ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_safe_rstrip_not_raises_exceptions -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_safe_rstrip_not_raises_exceptions ... ok magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_resize_failure magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_resize_failure ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_unknown_kwargs_raises_error -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_unknown_kwargs_raises_error ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_validate_and_normalize_mac -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_validate_and_normalize_mac ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_validate_and_normalize_mac_invalid_format -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_validate_and_normalize_mac_invalid_format ... ok -magnum.tests.unit.common.test_utils.GeneratePasswordTestCase.test_generate_password -magnum.tests.unit.common.test_utils.GeneratePasswordTestCase.test_generate_password ... ok magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_resize_success magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_resize_success ... ok -magnum.tests.unit.common.test_utils.UtilsTestCase.test_get_k8s_quantity -magnum.tests.unit.common.test_utils.UtilsTestCase.test_get_k8s_quantity ... ok -magnum.tests.unit.common.test_utils.UtilsTestCase.test_get_openstasck_ca -magnum.tests.unit.common.test_utils.UtilsTestCase.test_get_openstasck_ca ... ok -magnum.tests.unit.common.x509.test_operations.TestX509Operations.test_decrypt_key -magnum.tests.unit.common.x509.test_operations.TestX509Operations.test_decrypt_key ... ok magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create ... ok magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_handles_bad_request @@ -9068,12 +9227,12 @@ magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_with_environment ... ok magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_with_invalid_unicode_name magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_with_invalid_unicode_name ... ok -magnum.tests.unit.common.x509.test_operations.TestX509Operations.test_generate_csr_and_key -magnum.tests.unit.common.x509.test_operations.TestX509Operations.test_generate_csr_and_key ... ok magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_with_trust_failed magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_with_trust_failed ... ok magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_adopt_complete magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_adopt_complete ... ok +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_subject_name +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_subject_name ... ok magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_check_complete magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_check_complete ... ok magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_restore_complete @@ -9090,72 +9249,44 @@ magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_node_count_failure ... ok magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_node_count_success magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_node_count_success ... ok -magnum.tests.unit.conductor.handlers.test_conductor_listener.TestHandler.test_ping_conductor -magnum.tests.unit.conductor.handlers.test_conductor_listener.TestHandler.test_ping_conductor ... ok -magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_action -magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_action ... ok -magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_action_copies_object -magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_action_copies_object ... ok -magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_action_on_raise -magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_action_on_raise ... ok -magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_class_action -magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_class_action ... ok -magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_class_action_on_raise -magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_class_action_on_raise ... ok -magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_create_stack -magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_create_stack ... ok -magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_create_stack_with_error -magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_create_stack_with_error ... ok -magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_delete_stack -magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_delete_stack ... ok -magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_delete_stack_with_error -magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_delete_stack_with_error ... ok -magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_update_stack -magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_update_stack ... ok -magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_update_stack_with_error -magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_update_stack_with_error ... ok -magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_is_magnum_auto_healer_running -magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_is_magnum_auto_healer_running ... ok -magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_compute_cpu_util -magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_compute_cpu_util ... ok -magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_compute_memory_util -magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_compute_memory_util ... ok -magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_get_metric_names -magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_get_metric_names ... ok -magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_get_metric_unit -magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_get_metric_unit ... ok -magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_healthy -magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_healthy ... ok -magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_unhealthy_api -magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_unhealthy_api ... ok -magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_unhealthy_node -magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_unhealthy_node ... ok -magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_unreachable_cluster -magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_unreachable_cluster ... ok -magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_unreachable_with_master_lb -magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_unreachable_with_master_lb ... ok -magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_pull_data_success -magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_pull_data_success ... ok -magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_no_container_host -magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_no_container_host ... ok -magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_one_container_host -magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_one_container_host ... ok -magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_scale_up -magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_scale_up ... ok -magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_three_container_hosts -magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_three_container_hosts ... ok -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_has_publickey -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_has_publickey ... ok -magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_two_container_hosts -magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_two_container_hosts ... ok -magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_with_none_hosts -magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_with_none_hosts ... ok +magnum.tests.unit.conductor.handlers.test_federation_conductor.TestHandler.test_create_federation +magnum.tests.unit.conductor.handlers.test_federation_conductor.TestHandler.test_create_federation ... ok +magnum.tests.unit.conductor.handlers.test_federation_conductor.TestHandler.test_delete_federation +magnum.tests.unit.conductor.handlers.test_federation_conductor.TestHandler.test_delete_federation ... ok +magnum.tests.unit.conductor.handlers.test_federation_conductor.TestHandler.test_update_federation +magnum.tests.unit.conductor.handlers.test_federation_conductor.TestHandler.test_update_federation ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create_failed +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create_failed ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create_failed_bad_request +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create_failed_bad_request ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_failed +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_failed ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_stack_and_ng_not_found +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_stack_and_ng_not_found ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_stack_not_found +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_stack_not_found ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_stack_operation_ongoing +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_stack_operation_ongoing ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_udpate +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_udpate ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_update_failed +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_update_failed ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_update_failed_bad_request +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_update_failed_bad_request ... ok +magnum.tests.unit.conductor.test_scale_manager.TestK8sScaleManager.test_get_hosts_with_container +magnum.tests.unit.conductor.test_scale_manager.TestK8sScaleManager.test_get_hosts_with_container ... ok magnum.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_default_value magnum.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_default_value ... ok magnum.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_type_check magnum.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_type_check ... ok magnum.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_default_value magnum.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_default_value ... ok +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_with_bytes_issuer_name +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_with_bytes_issuer_name ... ok magnum.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_type_check magnum.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_type_check ... ok magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_create_cluster @@ -9202,66 +9333,80 @@ magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_update_cluster_not_found ... ok magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_update_cluster_uuid magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_update_cluster_uuid ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_create_federation -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_create_federation ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_create_federation_already_exists -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_create_federation_already_exists ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_id_that_does_not_exist -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_id_that_does_not_exist ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_uudid_that_does_not_exist -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_uudid_that_does_not_exist ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_uuid -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_uuid ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_id -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_id ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_name -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_name ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_name_multiple_federation -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_name_multiple_federation ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_uuid -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_uuid ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list_by_admin_all_tenants -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list_by_admin_all_tenants ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list_sorted -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list_sorted ... ok -/build/reproducible-path/magnum-19.0.0/magnum/db/sqlalchemy/api.py:116: SAWarning: TypeDecorator JSONEncodedList() will not produce a cache key because the ``cache_ok`` attribute is not set to True. This can have significant performance implications including some performance degradations in comparison to prior SQLAlchemy versions. Set this attribute to True if this type object's state is safe to use in a cache key, or False to disable this warning. (Background on this warning at: https://sqlalche.me/e/20/cprf) - return query.all() -/build/reproducible-path/magnum-19.0.0/magnum/db/sqlalchemy/api.py:116: SAWarning: TypeDecorator JSONEncodedDict() will not produce a cache key because the ``cache_ok`` attribute is not set to True. This can have significant performance implications including some performance degradations in comparison to prior SQLAlchemy versions. Set this attribute to True if this type object's state is safe to use in a cache key, or False to disable this warning. (Background on this warning at: https://sqlalche.me/e/20/cprf) - return query.all() -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list_with_filters -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list_with_filters ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_that_does_not_exist -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_that_does_not_exist ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_update_federation_members -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_update_federation_members ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_update_federation_not_found -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_update_federation_not_found ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_update_federation_properties -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_update_federation_properties ... ok -magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_create_magnum_service -magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_create_magnum_service ... ok -magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_create_magnum_service_failure_for_dup -magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_create_magnum_service_failure_for_dup ... ok -magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_destroy_magnum_service -magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_destroy_magnum_service ... ok -magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_destroy_magnum_service_failure -magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_destroy_magnum_service_failure ... ok -magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_get_magnum_service_by_host_and_binary -magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_get_magnum_service_by_host_and_binary ... ok -magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_get_magnum_service_by_host_and_binary_failure -magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_get_magnum_service_by_host_and_binary_failure ... ok -magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_get_magnum_service_list -magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_get_magnum_service_list ... ok -magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_update_magnum_service -magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_update_magnum_service ... ok -magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_update_magnum_service_failure -magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_update_magnum_service_failure ... ok -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_extentions_as_ca -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_extentions_as_ca ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_create_quota +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_create_quota ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_create_quota_already_exists +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_create_quota_already_exists ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_delete_quota +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_delete_quota ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_delete_quota_that_does_not_exist +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_delete_quota_that_does_not_exist ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_all +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_all ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_by_project_id_resource +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_by_project_id_resource ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_by_project_id_resource_not_found +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_by_project_id_resource_not_found ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_invalid_sort_key +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_invalid_sort_key ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_sorted +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_sorted ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_with_filters +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_with_filters ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_update_quota +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_update_quota ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_update_quota_not_found +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_update_quota_not_found ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_discovery_url +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_discovery_url ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_discovery_url_fail +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_discovery_url_fail ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_discovery_url_not_found +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_discovery_url_not_found ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_heat_param +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_heat_param ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_external_network_id +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_external_network_id ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_insecure +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_insecure ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_octavia_disabled +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_octavia_disabled ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_octavia_enabled +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_octavia_enabled ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_scale_params +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_scale_params ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_validate_discovery_url +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_validate_discovery_url ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_validate_discovery_url_fail +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_validate_discovery_url_fail ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_validate_discovery_url_invalid +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_validate_discovery_url_invalid ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_validate_discovery_url_unexpect_size +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_validate_discovery_url_unexpect_size ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_set_master_lb_allowed_cidrs +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_set_master_lb_allowed_cidrs ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_set_master_lb_allowed_cidrs_find_subnet_cidr +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_set_master_lb_allowed_cidrs_find_subnet_cidr ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_set_master_lb_allowed_cidrs_fixed_subnet_cidr +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_set_master_lb_allowed_cidrs_fixed_subnet_cidr ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_k8s_outputs_api_address +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_k8s_outputs_api_address ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_k8s_outputs_if_cluster_template_is_secure +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_k8s_outputs_if_cluster_template_is_secure ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_k8s_outputs_none_api_address +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_k8s_outputs_none_api_address ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_outputs_master_address +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_outputs_master_address ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_outputs_master_address_fip_disabled +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_outputs_master_address_fip_disabled ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_outputs_node_address +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_outputs_node_address ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_outputs_node_address_fip_disabled +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_outputs_node_address_fip_disabled ... ok magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_disabled_with_fp magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_disabled_with_fp ... ok magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_disabled_without_fp @@ -9330,6 +9475,8 @@ magnum.tests.unit.objects.test_federation.TestFederationObject.test_list_all ... ok magnum.tests.unit.objects.test_federation.TestFederationObject.test_list_with_filters magnum.tests.unit.objects.test_federation.TestFederationObject.test_list_with_filters ... ok +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_has_publickey +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_has_publickey ... ok magnum.tests.unit.objects.test_federation.TestFederationObject.test_refresh magnum.tests.unit.objects.test_federation.TestFederationObject.test_refresh ... ok magnum.tests.unit.objects.test_federation.TestFederationObject.test_save @@ -9358,6 +9505,48 @@ magnum.tests.unit.objects.test_fields.TestContainerStatus.test_stringify_invalid ... ok magnum.tests.unit.objects.test_fields.TestContainerStatus.test_to_primitive magnum.tests.unit.objects.test_fields.TestContainerStatus.test_to_primitive ... ok +magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_coerce_bad_values +magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_coerce_bad_values ... ok +magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_coerce_good_values +magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_coerce_good_values ... ok +magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_from_primitive +magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_from_primitive ... ok +magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_stringify +magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_stringify ... ok +magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_stringify_invalid +magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_stringify_invalid ... ok +magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_to_primitive +magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_to_primitive ... ok +magnum.tests.unit.objects.test_fields.TestServerType.test_coerce_bad_values +magnum.tests.unit.objects.test_fields.TestServerType.test_coerce_bad_values ... ok +magnum.tests.unit.objects.test_fields.TestServerType.test_coerce_good_values +magnum.tests.unit.objects.test_fields.TestServerType.test_coerce_good_values ... ok +magnum.tests.unit.objects.test_fields.TestServerType.test_from_primitive +magnum.tests.unit.objects.test_fields.TestServerType.test_from_primitive ... ok +magnum.tests.unit.objects.test_fields.TestServerType.test_stringify +magnum.tests.unit.objects.test_fields.TestServerType.test_stringify ... ok +magnum.tests.unit.objects.test_fields.TestServerType.test_stringify_invalid +magnum.tests.unit.objects.test_fields.TestServerType.test_stringify_invalid ... ok +magnum.tests.unit.objects.test_fields.TestServerType.test_to_primitive +magnum.tests.unit.objects.test_fields.TestServerType.test_to_primitive ... ok +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_create +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_create ... ok +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_destroy +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_destroy ... ok +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_id +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_id ... ok +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_name +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_name ... ok +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_uuid +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_uuid ... ok +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_list +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_list ... ok +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_list_with_filters +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_list_with_filters ... ok +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_refresh +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_refresh ... ok +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_save +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_save ... ok magnum.tests.unit.objects.test_objects.TestObject.test_base_attributes magnum.tests.unit.objects.test_objects.TestObject.test_base_attributes ... ok magnum.tests.unit.objects.test_objects.TestObject.test_changed_1 @@ -9414,99 +9603,26 @@ magnum.tests.unit.objects.test_objects.TestObject.test_updates ... ok magnum.tests.unit.objects.test_objects.TestObject.test_with_alternate_context magnum.tests.unit.objects.test_objects.TestObject.test_with_alternate_context ... ok -magnum.tests.unit.objects.test_objects.TestObjectVersions.test_versions -magnum.tests.unit.objects.test_objects.TestObjectVersions.test_versions ... ok -magnum.tests.unit.servicegroup.test_magnum_service.MagnumServicePeriodicTestCase.test_update_magnum_service_firsttime -magnum.tests.unit.servicegroup.test_magnum_service.MagnumServicePeriodicTestCase.test_update_magnum_service_firsttime ... ok -magnum.tests.unit.servicegroup.test_magnum_service.MagnumServicePeriodicTestCase.test_update_magnum_service_on_restart -magnum.tests.unit.servicegroup.test_magnum_service.MagnumServicePeriodicTestCase.test_update_magnum_service_on_restart ... ok -magnum.tests.unit.servicegroup.test_magnum_service.MagnumServicePeriodicTestCase.test_update_magnum_service_regular -magnum.tests.unit.servicegroup.test_magnum_service.MagnumServicePeriodicTestCase.test_update_magnum_service_regular ... ok -magnum.tests.unit.template.test_template.TestTemplate.test_template_yaml -magnum.tests.unit.template.test_template.TestTemplate.test_template_yaml ... ok +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_create +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_create ... ok +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_destroy +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_destroy ... ok +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_get_bad_id_and_uuid +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_get_bad_id_and_uuid ... ok +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_get_by_id +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_get_by_id ... ok +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_get_by_uuid +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_get_by_uuid ... ok +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_list +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_list ... ok +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_list_all +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_list_all ... ok +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_refresh +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_refresh ... ok +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_save +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_save ... ok -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"id": 42, "hard_limit": 20, "project_id": "fake_project", "resource": "Cluster", "created_at": "2026-02-19T05:12:19.668931+00:00", "updated_at": "2026-02-19T05:12:19.675110+00:00"} -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} -GOT:Response: 201 Created -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2026-02-19T05:12:19.690204+00:00", "updated_at": null} -PATCH: /v1/quotas {'project_id': 'not-found', 'hard_limit': 20, 'resource': 'Cluster'} -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Quota could not be found: project_id not-found resource Cluster", "detail": "Quota could not be found: project_id not-found resource Cluster.", "links": []}]} -GET: /v1/stats {} -GOT:{'clusters': 2, 'nodes': 12} -GET: /v1/stats?project_id=34 {} -GOT:{'clusters': 0, 'nodes': 0} -GET: /v1/stats?project_id=234 {} -GOT:{'clusters': 1, 'nodes': 6} -GET: /v1/stats {} -GOT:{'clusters': 0, 'nodes': 0} -GET: /v1/stats?project_id=123&type=invalid {} -GET: /v1/stats {} -GOT:{'clusters': 1, 'nodes': 6} -GET: /v1/stats {} -GOT:{'clusters': 1, 'nodes': 6} -GET: /v1/stats?project_id=123 {} -GET: / {} -GOT:Response: 500 Internal Server Error -Content-Type: application/json -{"errors": [{"request_id": "", "code": "server", "status": 500, "title": "Test exception message", "detail": "Test exception message.", "links": []}]} -GET: / {} -GOT:Response: 500 Internal Server Error -Content-Type: application/json -{"errors": [{"request_id": "", "code": "server", "status": 500, "title": "Remote error: TestException Test exception message", "detail": "Remote error: TestException Test exception message.\n['", "links": []}]} -GET: / {} -GOT:Response: 400 Bad Request -Content-Type: application/json -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Test exception message", "detail": "Test exception message.\nTraceback (most recent call last):\n File \"/opt/stack/magnum/magnum/openstack/common/rpc/amqp.py\", line 434, in _process_data\\n **args)\n File \"/opt/stack/magnum/magnum/openstack/common/rpc/dispatcher.py\", line 172, in dispatch\\n result = getattr(proxyobj, method)(context, **kwargs)", "links": []}]} -GET: / {} -GOT:Response: 500 Internal Server Error -Content-Type: application/json -{"errors": [{"request_id": "", "code": "server", "status": 500, "title": "Test exception message", "detail": "Test exception message.", "links": []}]} -GET: / {} -GOT:Response: 500 Internal Server Error -Content-Type: application/json -{"errors": [{"request_id": "", "code": "server", "status": 500, "title": "Error message without traceback \n but \n multiline", "detail": "Error message without traceback \n but \n multiline", "links": []}]} -POST: /v1/certificates {'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'csr': 'fake-csr'} -GET: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -PATCH: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} -DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 -GET: /v1/clusters {} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -PATCH: /v1/clusters/cluster_example_A [{'path': '/node_count', 'value': 4, 'op': 'replace'}] -POST: /v1/federations {} -DELETE: /v1/federations/c70b2baf-4ed5-4d28-9c08-7c213b1f16d9 -GET: /v1/federations/detail {} -GET: /v1/federations {} -GET: /v1/federations {} -GOT:{'federations': [{'uuid': 'c9804cf2-ef92-485c-8291-382ef7227d06', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/c9804cf2-ef92-485c-8291-382ef7227d06', 'rel': 'self'}, {'href': 'http://localhost/federations/c9804cf2-ef92-485c-8291-382ef7227d06', 'rel': 'bookmark'}]}]} -PATCH: /v1/federations/af85dc97-a5e3-47db-b7ea-6c4767a01141 [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'add'}] -POST: /v1/clusters/1019be8e-9524-4c1e-a0ab-5e1cdb3b9222/nodegroups/ {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} -DELETE: /v1/clusters/1afe32dd-ccac-4850-97e1-3b79055d2278/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 -GET: /v1/clusters/0d2e00a6-01ae-42b7-97e0-aaa57780dc6b/nodegroups/ {} -GET: /v1/clusters/6edc66c4-6d72-42f0-a7f8-b668a752415e/nodegroups/foo {} -PATCH: /v1/clusters/2f82d329-9de4-4070-85ef-5460d0d83096/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 [{'path': '/max_node_count', 'value': 4, 'op': 'replace'}] -GET: /v1/stats {} -GOT:{'clusters': 0, 'nodes': 0} -GET: /v1/stats {} -GET: /v1/stats {} -GOT:{'clusters': 0, 'nodes': 0} +PATCH: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 20} stdin:1:1: M338 Use assertIn/NotIn(A, B) rather than assertEqual(A in B, True/False) when checking collection contents. stdin:1:1: M338 Use assertIn/NotIn(A, B) rather than assertEqual(A in B, True/False) when checking collection contents. stdin:1:1: M338 Use assertIn/NotIn(A, B) rather than assertEqual(A in B, True/False) when checking collection contents. @@ -9540,14 +9656,6 @@ stdin:1:1: M310 timeutils.utcnow() must be used instead of datetime.utcnow() magnum.tests.unit.test_hacking.HackingTestCase.test_use_timeunitls_utcow magnum.tests.unit.test_hacking.HackingTestCase.test_use_timeunitls_utcow ... ok -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_issuer_name -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_issuer_name ... ok -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_subject_name -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_subject_name ... ok -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_with_bytes_issuer_name -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_with_bytes_issuer_name ... ok -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_has_publickey -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_has_publickey ... ok magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_extentions_as_client magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_extentions_as_client ... ok magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_issuer_name @@ -9562,42 +9670,30 @@ magnum.tests.unit.common.x509.test_sign.TestX509.test_sign_empty_chars ... ok magnum.tests.unit.common.x509.test_sign.TestX509.test_sign_with_invalid_csr magnum.tests.unit.common.x509.test_sign.TestX509.test_sign_with_invalid_csr ... ok -/usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", magnum.tests.unit.common.x509.test_sign.TestX509.test_sign_with_unicode_csr magnum.tests.unit.common.x509.test_sign.TestX509.test_sign_with_unicode_csr ... ok -magnum.tests.unit.common.x509.test_validator.TestValidators.test_disallow_ca_in_basic_constraints -magnum.tests.unit.common.x509.test_validator.TestValidators.test_disallow_ca_in_basic_constraints ... ok -magnum.tests.unit.common.x509.test_validator.TestValidators.test_disallow_ca_in_basic_constraints_not_critical -magnum.tests.unit.common.x509.test_validator.TestValidators.test_disallow_ca_in_basic_constraints_not_critical ... ok -magnum.tests.unit.common.x509.test_validator.TestValidators.test_disallow_ca_in_basic_constraints_with_non_ca -magnum.tests.unit.common.x509.test_validator.TestValidators.test_disallow_ca_in_basic_constraints_with_non_ca ... ok -magnum.tests.unit.common.x509.test_validator.TestValidators.test_filter_allowed_extensions -magnum.tests.unit.common.x509.test_validator.TestValidators.test_filter_allowed_extensions ... ok -magnum.tests.unit.common.x509.test_validator.TestValidators.test_filter_allowed_extensions_disallowed -magnum.tests.unit.common.x509.test_validator.TestValidators.test_filter_allowed_extensions_disallowed ... ok -magnum.tests.unit.common.x509.test_validator.TestValidators.test_filter_allowed_extensions_disallowed_but_not_critical -magnum.tests.unit.common.x509.test_validator.TestValidators.test_filter_allowed_extensions_disallowed_but_not_critical ... ok -magnum.tests.unit.common.x509.test_validator.TestValidators.test_merge_key_usage -magnum.tests.unit.common.x509.test_validator.TestValidators.test_merge_key_usage ... ok -magnum.tests.unit.common.x509.test_validator.TestValidators.test_merge_key_usage_disallowed -magnum.tests.unit.common.x509.test_validator.TestValidators.test_merge_key_usage_disallowed ... ok -magnum.tests.unit.common.x509.test_validator.TestValidators.test_merge_key_usage_disallowed_but_not_critical -magnum.tests.unit.common.x509.test_validator.TestValidators.test_merge_key_usage_disallowed_but_not_critical ... ok -magnum.tests.unit.common.x509.test_validator.TestValidators.test_remove_ca_key_usage -magnum.tests.unit.common.x509.test_validator.TestValidators.test_remove_ca_key_usage ... ok -magnum.tests.unit.common.x509.test_validator.TestValidators.test_remove_ca_key_usage_cert_sign -magnum.tests.unit.common.x509.test_validator.TestValidators.test_remove_ca_key_usage_cert_sign ... ok -magnum.tests.unit.common.x509.test_validator.TestValidators.test_remove_ca_key_usage_crl_sign -magnum.tests.unit.common.x509.test_validator.TestValidators.test_remove_ca_key_usage_crl_sign ... ok -magnum.tests.unit.common.x509.test_validator.TestValidators.test_remove_ca_key_usage_without_ca_usage -magnum.tests.unit.common.x509.test_validator.TestValidators.test_remove_ca_key_usage_without_ca_usage ... ok -magnum.tests.unit.conductor.handlers.test_federation_conductor.TestHandler.test_create_federation -magnum.tests.unit.conductor.handlers.test_federation_conductor.TestHandler.test_create_federation ... ok -magnum.tests.unit.conductor.handlers.test_federation_conductor.TestHandler.test_delete_federation -magnum.tests.unit.conductor.handlers.test_federation_conductor.TestHandler.test_delete_federation ... ok -magnum.tests.unit.conductor.handlers.test_federation_conductor.TestHandler.test_update_federation -magnum.tests.unit.conductor.handlers.test_federation_conductor.TestHandler.test_update_federation ... ok +magnum.tests.unit.conductor.handlers.common.test_trust_manager.TrustManagerTestCase.test_create_trustee_and_trust +magnum.tests.unit.conductor.handlers.common.test_trust_manager.TrustManagerTestCase.test_create_trustee_and_trust ... ok +magnum.tests.unit.conductor.handlers.common.test_trust_manager.TrustManagerTestCase.test_create_trustee_and_trust_with_error +magnum.tests.unit.conductor.handlers.common.test_trust_manager.TrustManagerTestCase.test_create_trustee_and_trust_with_error ... ok +magnum.tests.unit.conductor.handlers.common.test_trust_manager.TrustManagerTestCase.test_delete_trustee_and_trust +magnum.tests.unit.conductor.handlers.common.test_trust_manager.TrustManagerTestCase.test_delete_trustee_and_trust ... ok +magnum.tests.unit.conductor.handlers.common.test_trust_manager.TrustManagerTestCase.test_delete_trustee_and_trust_without_trust_id +magnum.tests.unit.conductor.handlers.common.test_trust_manager.TrustManagerTestCase.test_delete_trustee_and_trust_without_trust_id ... ok +magnum.tests.unit.conductor.handlers.common.test_trust_manager.TrustManagerTestCase.test_delete_trustee_and_trust_without_trustee_user_id +magnum.tests.unit.conductor.handlers.common.test_trust_manager.TrustManagerTestCase.test_delete_trustee_and_trust_without_trustee_user_id ... ok +magnum.tests.unit.conductor.handlers.test_conductor_listener.TestHandler.test_ping_conductor +magnum.tests.unit.conductor.handlers.test_conductor_listener.TestHandler.test_ping_conductor ... ok +magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_action +magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_action ... ok +magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_action_copies_object +magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_action_copies_object ... ok +magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_action_on_raise +magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_action_on_raise ... ok +magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_class_action +magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_class_action ... ok +magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_class_action_on_raise +magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_class_action_on_raise ... ok magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_create_stack magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_create_stack ... ok magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_create_stack_no_timeout_specified @@ -9626,28 +9722,40 @@ magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_server_image ... ok magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_update_stack magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_update_stack ... ok -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create ... ok -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create_failed -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create_failed ... ok -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create_failed_bad_request -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create_failed_bad_request ... ok -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete ... ok -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_failed -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_failed ... ok -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_stack_and_ng_not_found -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_stack_and_ng_not_found ... ok -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_stack_not_found -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_stack_not_found ... ok -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_stack_operation_ongoing -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_stack_operation_ongoing ... ok -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_udpate -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_udpate ... ok -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_update_failed -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_update_failed ... ok -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_update_failed_bad_request -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_update_failed_bad_request ... ok +magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_create_stack +magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_create_stack ... ok +magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_create_stack_with_error +magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_create_stack_with_error ... ok +magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_delete_stack +magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_delete_stack ... ok +magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_delete_stack_with_error +magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_delete_stack_with_error ... ok +magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_update_stack +magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_update_stack ... ok +magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_update_stack_with_error +magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_update_stack_with_error ... ok +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_is_magnum_auto_healer_running +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_is_magnum_auto_healer_running ... ok +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_compute_cpu_util +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_compute_cpu_util ... ok +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_compute_memory_util +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_compute_memory_util ... ok +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_get_metric_names +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_get_metric_names ... ok +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_get_metric_unit +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_get_metric_unit ... ok +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_healthy +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_healthy ... ok +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_unhealthy_api +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_unhealthy_api ... ok +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_unhealthy_node +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_unhealthy_node ... ok +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_unreachable_cluster +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_unreachable_cluster ... ok +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_unreachable_with_master_lb +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_unreachable_with_master_lb ... ok +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_pull_data_success +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_pull_data_success ... ok magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_cluster_create magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_cluster_create ... ok magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_cluster_delete @@ -9666,8 +9774,18 @@ magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_ping_conductor ... ok magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_sign_certificate magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_sign_certificate ... ok -magnum.tests.unit.conductor.test_scale_manager.TestK8sScaleManager.test_get_hosts_with_container -magnum.tests.unit.conductor.test_scale_manager.TestK8sScaleManager.test_get_hosts_with_container ... ok +magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_no_container_host +magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_no_container_host ... ok +magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_one_container_host +magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_one_container_host ... ok +magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_scale_up +magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_scale_up ... ok +magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_three_container_hosts +magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_three_container_hosts ... ok +magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_two_container_hosts +magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_two_container_hosts ... ok +magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_with_none_hosts +magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_with_none_hosts ... ok magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_context magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_context ... ok magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_domain_project_id @@ -9760,6 +9878,64 @@ magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_update_cluster_template_that_does_not_exist ... ok magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_update_cluster_template_uuid magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_update_cluster_template_uuid ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_create_federation +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_create_federation ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_create_federation_already_exists +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_create_federation_already_exists ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_id_that_does_not_exist +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_id_that_does_not_exist ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_uudid_that_does_not_exist +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_uudid_that_does_not_exist ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_uuid +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_uuid ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_id +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_id ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_name +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_name ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_name_multiple_federation +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_name_multiple_federation ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_uuid +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_uuid ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list_by_admin_all_tenants +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list_by_admin_all_tenants ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list_sorted +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list_sorted ... ok +/build/reproducible-path/magnum-19.0.0/magnum/db/sqlalchemy/api.py:116: SAWarning: TypeDecorator JSONEncodedList() will not produce a cache key because the ``cache_ok`` attribute is not set to True. This can have significant performance implications including some performance degradations in comparison to prior SQLAlchemy versions. Set this attribute to True if this type object's state is safe to use in a cache key, or False to disable this warning. (Background on this warning at: https://sqlalche.me/e/20/cprf) + return query.all() +/build/reproducible-path/magnum-19.0.0/magnum/db/sqlalchemy/api.py:116: SAWarning: TypeDecorator JSONEncodedDict() will not produce a cache key because the ``cache_ok`` attribute is not set to True. This can have significant performance implications including some performance degradations in comparison to prior SQLAlchemy versions. Set this attribute to True if this type object's state is safe to use in a cache key, or False to disable this warning. (Background on this warning at: https://sqlalche.me/e/20/cprf) + return query.all() +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list_with_filters +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list_with_filters ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_that_does_not_exist +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_that_does_not_exist ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_update_federation_members +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_update_federation_members ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_update_federation_not_found +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_update_federation_not_found ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_update_federation_properties +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_update_federation_properties ... ok +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_create_magnum_service +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_create_magnum_service ... ok +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_create_magnum_service_failure_for_dup +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_create_magnum_service_failure_for_dup ... ok +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_destroy_magnum_service +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_destroy_magnum_service ... ok +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_destroy_magnum_service_failure +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_destroy_magnum_service_failure ... ok +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_get_magnum_service_by_host_and_binary +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_get_magnum_service_by_host_and_binary ... ok +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_get_magnum_service_by_host_and_binary_failure +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_get_magnum_service_by_host_and_binary_failure ... ok +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_get_magnum_service_list +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_get_magnum_service_list ... ok +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_update_magnum_service +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_update_magnum_service ... ok +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_update_magnum_service_failure +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_update_magnum_service_failure ... ok magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_create_nodegroup magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_create_nodegroup ... ok magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_create_nodegroup_already_exists @@ -9792,32 +9968,6 @@ magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_update_cluster ... ok magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_update_nodegroup_not_found magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_update_nodegroup_not_found ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_create_quota -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_create_quota ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_create_quota_already_exists -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_create_quota_already_exists ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_delete_quota -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_delete_quota ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_delete_quota_that_does_not_exist -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_delete_quota_that_does_not_exist ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_all -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_all ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_by_project_id_resource -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_by_project_id_resource ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_by_project_id_resource_not_found -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_by_project_id_resource_not_found ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_invalid_sort_key -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_invalid_sort_key ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_sorted -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_sorted ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_with_filters -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_with_filters ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_update_quota -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_update_quota ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_update_quota_not_found -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_update_quota_not_found ... ok magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_create_x509keypair magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_create_x509keypair ... ok magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_create_x509keypair_already_exists @@ -9904,54 +10054,6 @@ magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_stack_not_found_new_ng_updating ... ok magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_stack_not_found_updating magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_stack_not_found_updating ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_discovery_url -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_discovery_url ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_discovery_url_fail -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_discovery_url_fail ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_discovery_url_not_found -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_discovery_url_not_found ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_heat_param -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_heat_param ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_external_network_id -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_external_network_id ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_insecure -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_insecure ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_octavia_disabled -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_octavia_disabled ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_octavia_enabled -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_octavia_enabled ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_scale_params -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_scale_params ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_validate_discovery_url -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_validate_discovery_url ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_validate_discovery_url_fail -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_validate_discovery_url_fail ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_validate_discovery_url_invalid -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_validate_discovery_url_invalid ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_validate_discovery_url_unexpect_size -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_validate_discovery_url_unexpect_size ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_set_master_lb_allowed_cidrs -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_set_master_lb_allowed_cidrs ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_set_master_lb_allowed_cidrs_find_subnet_cidr -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_set_master_lb_allowed_cidrs_find_subnet_cidr ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_set_master_lb_allowed_cidrs_fixed_subnet_cidr -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_set_master_lb_allowed_cidrs_fixed_subnet_cidr ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_k8s_outputs_api_address -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_k8s_outputs_api_address ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_k8s_outputs_if_cluster_template_is_secure -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_k8s_outputs_if_cluster_template_is_secure ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_k8s_outputs_none_api_address -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_k8s_outputs_none_api_address ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_outputs_master_address -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_outputs_master_address ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_outputs_master_address_fip_disabled -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_outputs_master_address_fip_disabled ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_outputs_node_address -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_outputs_node_address ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_outputs_node_address_fip_disabled -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_outputs_node_address_fip_disabled ... ok magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_create magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_create ... ok magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_destroy @@ -9994,30 +10096,6 @@ magnum.tests.unit.objects.test_fields.TestClusterStatus.test_stringify_invalid ... ok magnum.tests.unit.objects.test_fields.TestClusterStatus.test_to_primitive magnum.tests.unit.objects.test_fields.TestClusterStatus.test_to_primitive ... ok -magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_coerce_bad_values -magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_coerce_bad_values ... ok -magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_coerce_good_values -magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_coerce_good_values ... ok -magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_from_primitive -magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_from_primitive ... ok -magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_stringify -magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_stringify ... ok -magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_stringify_invalid -magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_stringify_invalid ... ok -magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_to_primitive -magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_to_primitive ... ok -magnum.tests.unit.objects.test_fields.TestServerType.test_coerce_bad_values -magnum.tests.unit.objects.test_fields.TestServerType.test_coerce_bad_values ... ok -magnum.tests.unit.objects.test_fields.TestServerType.test_coerce_good_values -magnum.tests.unit.objects.test_fields.TestServerType.test_coerce_good_values ... ok -magnum.tests.unit.objects.test_fields.TestServerType.test_from_primitive -magnum.tests.unit.objects.test_fields.TestServerType.test_from_primitive ... ok -magnum.tests.unit.objects.test_fields.TestServerType.test_stringify -magnum.tests.unit.objects.test_fields.TestServerType.test_stringify ... ok -magnum.tests.unit.objects.test_fields.TestServerType.test_stringify_invalid -magnum.tests.unit.objects.test_fields.TestServerType.test_stringify_invalid ... ok -magnum.tests.unit.objects.test_fields.TestServerType.test_to_primitive -magnum.tests.unit.objects.test_fields.TestServerType.test_to_primitive ... ok magnum.tests.unit.objects.test_magnum_service.TestMagnumServiceObject.test_create magnum.tests.unit.objects.test_magnum_service.TestMagnumServiceObject.test_create ... ok magnum.tests.unit.objects.test_magnum_service.TestMagnumServiceObject.test_destroy @@ -10030,24 +10108,6 @@ magnum.tests.unit.objects.test_magnum_service.TestMagnumServiceObject.test_report_state_up ... ok magnum.tests.unit.objects.test_magnum_service.TestMagnumServiceObject.test_save magnum.tests.unit.objects.test_magnum_service.TestMagnumServiceObject.test_save ... ok -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_create -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_create ... ok -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_destroy -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_destroy ... ok -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_id -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_id ... ok -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_name -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_name ... ok -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_uuid -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_uuid ... ok -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_list -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_list ... ok -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_list_with_filters -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_list_with_filters ... ok -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_refresh -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_refresh ... ok -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_save -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_save ... ok magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport ... ok magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport_zero @@ -10064,24 +10124,8 @@ magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization ... ok magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization_iterables magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization_iterables ... ok -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_create -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_create ... ok -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_destroy -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_destroy ... ok -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_get_bad_id_and_uuid -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_get_bad_id_and_uuid ... ok -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_get_by_id -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_get_by_id ... ok -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_get_by_uuid -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_get_by_uuid ... ok -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_list -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_list ... ok -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_list_all -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_list_all ... ok -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_refresh -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_refresh ... ok -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_save -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_save ... ok +magnum.tests.unit.objects.test_objects.TestObjectVersions.test_versions +magnum.tests.unit.objects.test_objects.TestObjectVersions.test_versions ... ok magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_sync_cluster_health_status magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_sync_cluster_health_status ... ok magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_sync_cluster_status_changes @@ -10094,6 +10138,14 @@ magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_update_status_non_trusts_error ... ok magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_update_status_trusts_not_found magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_update_status_trusts_not_found ... ok +magnum.tests.unit.servicegroup.test_magnum_service.MagnumServicePeriodicTestCase.test_update_magnum_service_firsttime +magnum.tests.unit.servicegroup.test_magnum_service.MagnumServicePeriodicTestCase.test_update_magnum_service_firsttime ... ok +magnum.tests.unit.servicegroup.test_magnum_service.MagnumServicePeriodicTestCase.test_update_magnum_service_on_restart +magnum.tests.unit.servicegroup.test_magnum_service.MagnumServicePeriodicTestCase.test_update_magnum_service_on_restart ... ok +magnum.tests.unit.servicegroup.test_magnum_service.MagnumServicePeriodicTestCase.test_update_magnum_service_regular +magnum.tests.unit.servicegroup.test_magnum_service.MagnumServicePeriodicTestCase.test_update_magnum_service_regular ... ok +magnum.tests.unit.template.test_template.TestTemplate.test_template_yaml +magnum.tests.unit.template.test_template.TestTemplate.test_template_yaml ... ok POST: /v1/clustertemplates {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'clustermodel1', 'image_id': 'ubuntu', 'flavor_id': 'm1.small', 'master_flavor_id': 'm1.small', 'keypair_id': 'keypair1', 'external_network_id': 'd1f02cfb-d27f-4068-9332-84d907cb0e2e', 'fixed_network': 'private', 'fixed_subnet': 'private-subnet', 'network_driver': None, 'volume_driver': None, 'dns_nameserver': '8.8.1.1', 'apiserver_port': 8080, 'docker_volume_size': 20, 'docker_storage_driver': 'devicemapper', 'cluster_distro': 'fedora-coreos', 'coe': 'kubernetes', 'labels': {'key1': 'val1', 'key2': 'val2'}, 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'registry_enabled': False, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'hidden': False, 'tags': '', 'driver': ''} DELETE: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 @@ -10101,62 +10153,60 @@ GET: /v1/clustertemplates/detail {} GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/dns_nameserver', 'op': 'remove'}] +POST: /v1/federations {} +DELETE: /v1/federations/ba5f911c-01bd-4888-8748-3ef7d4c1f72a +GET: /v1/federations/detail {} +GET: /v1/federations {} +GET: /v1/federations {} +GOT:{'federations': [{'uuid': 'f6f981ae-c9e5-447c-bbd9-023243005f69', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/f6f981ae-c9e5-447c-bbd9-023243005f69', 'rel': 'self'}, {'href': 'http://localhost/federations/f6f981ae-c9e5-447c-bbd9-023243005f69', 'rel': 'bookmark'}]}]} +PATCH: /v1/federations/c2253cb8-4021-449e-a6ec-4ca39c175ea6 [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'add'}] GET: /v1/mservices {} -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} -GOT:Response: 201 Created -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2026-02-19T05:12:19.902439+00:00", "updated_at": null} -DELETE: /v1/quotas/fake_project/Cluster -GET: /v1/quotas {} -GET: /v1/quotas/fake_project/Cluster {} -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 5} -GOT:Response: 201 Created -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"id": 42, "hard_limit": 5, "project_id": "fake_project", "resource": "Cluster", "created_at": "2026-02-19T05:12:19.950396+00:00", "updated_at": null} -PATCH: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 20} +POST: /v1/clusters/85d359d7-aecd-4071-a8cd-552d835c508d/nodegroups/ {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} +DELETE: /v1/clusters/68a2e949-079d-4a1a-b983-1cc41c5dd369/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 +GET: /v1/clusters/800e2724-697f-4273-b10b-db6c35de31f4/nodegroups/ {} +GET: /v1/clusters/ff6d49da-f5bd-462c-a435-4b1a1608f1a1/nodegroups/foo {} +PATCH: /v1/clusters/9ed64dbb-1a33-4fdd-ab12-1e7efa070b4f/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 [{'path': '/max_node_count', 'value': 4, 'op': 'replace'}] +GET: /v1/stats {} +GOT:{'clusters': 0, 'nodes': 0} +GET: /v1/stats {} +GET: /v1/stats {} +GOT:{'clusters': 0, 'nodes': 0} ---------------------------------------------------------------------- -Ran 1164 tests in 30.416s +Ran 1164 tests in 49.974s OK + stestr slowest Test id Runtime (s) ---------------------------------------------------------------------------------------------------------- ----------- -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_subject_name 1.525 -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_extentions_as_client 1.504 -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_has_publickey 1.327 -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_issuer_name 1.250 -magnum.tests.unit.common.x509.test_sign.TestX509.test_sign_with_invalid_csr 1.209 -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_subject_name 1.144 -magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_timeout 1.011 -magnum.tests.unit.common.x509.test_sign.TestX509.test_load_pem_private_key_with_bytes_private_key 0.976 -magnum.tests.unit.common.x509.test_sign.TestX509.test_sign_empty_chars 0.766 -magnum.tests.unit.common.x509.test_sign.TestX509.test_sign_with_unicode_csr 0.758 +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_issuer_name 3.428 +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_extentions_as_client 2.670 +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_has_publickey 2.505 +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_subject_name 2.486 +magnum.tests.unit.common.x509.test_sign.TestX509.test_load_pem_private_key_with_bytes_private_key 2.017 +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_issuer_name 1.943 +magnum.tests.unit.common.x509.test_sign.TestX509.test_sign_empty_chars 1.642 +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_extentions_as_ca 1.290 +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_with_bytes_issuer_name 1.083 +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_has_publickey 1.055 + rm -rf .stestr -+ [ 3.13 = disabled ] -+ echo 3.13 -+ cut -d. -f1 ++ for pyvers in ${PYTHON3S} ++ '[' 3.13 = disabled ']' +++ echo 3.13 +++ cut -d. -f1 + PYMAJOR=3 -+ echo ===> Testing with python (python3) ++ echo '===> Testing with python (python3)' ===> Testing with python (python3) -+ pwd -+ [ -d /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages ] -+ [ -z /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages ] -+ [ -e .stestr.conf ] -+ [ -x /usr/bin/python3-stestr ] +++ pwd ++ '[' -d /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages ']' ++ '[' -z /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages ']' ++ '[' -e .stestr.conf ']' ++ '[' -x /usr/bin/python3-stestr ']' + STESTR=stestr + rm -rf .stestr -+ + PYTHON=python3.13 stestr run --parallelsubunit2pyunit - --subunit --concurrency 2 magnum\.tests\.unit\.(?!(drivers\.test_heat_driver\.TestHeatPoller\.test_poll_done|drivers\.test_heat_driver\.TestHeatPoller\.test_poll_destroy|api\.controllers\.v1\.test_baymodel\.TestPatch|api\.controllers\.v1\.test_baymodel\.TestPost|api\.controllers\.v1\.test_cluster_template\.TestPost|api\.controllers\.v1\.test_cluster_template\.TestListClusterTemplate|api\.controllers\.v1\.test_cluster_template\.TestPatch\.test_update_cluster_template_with_cluster_not_allow_update|api\.controllers\.v1\.test_federation\.TestListFederation\.test_collection_links|api\.controllers\.v1\.test_federation\.TestPost\.test_create_federation_with_valid_name)) ++ PYTHON=python3.13 ++ stestr run --parallel --subunit --concurrency 2 'magnum\.tests\.unit\.(?!(drivers\.test_heat_driver\.TestHeatPoller\.test_poll_done|drivers\.test_heat_driver\.TestHeatPoller\.test_poll_destroy|api\.controllers\.v1\.test_baymodel\.TestPatch|api\.controllers\.v1\.test_baymodel\.TestPost|api\.controllers\.v1\.test_cluster_template\.TestPost|api\.controllers\.v1\.test_cluster_template\.TestListClusterTemplate|api\.controllers\.v1\.test_cluster_template\.TestPatch\.test_update_cluster_template_with_cluster_not_allow_update|api\.controllers\.v1\.test_federation\.TestListFederation\.test_collection_links|api\.controllers\.v1\.test_federation\.TestPost\.test_create_federation_with_valid_name))' ++ subunit2pyunit 3 RLock(s) were not greened, to fix this error make sure you run eventlet.monkey_patch() before importing any other modules. 3 RLock(s) were not greened, to fix this error make sure you run eventlet.monkey_patch() before importing any other modules. 3 RLock(s) were not greened, to fix this error make sure you run eventlet.monkey_patch() before importing any other modules. @@ -10194,8 +10244,6 @@ magnum.tests.unit.api.controllers.test_base.TestVersion.test__le__with_equal ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test__le__with_higher_version magnum.tests.unit.api.controllers.test_base.TestVersion.test__le__with_higher_version ... ok -INFO [alembic.runtime.migration] Context impl SQLiteImpl. -INFO [alembic.runtime.migration] Will assume non-transactional DDL. magnum.tests.unit.api.controllers.test_base.TestVersion.test__le__with_lower_version magnum.tests.unit.api.controllers.test_base.TestVersion.test__le__with_lower_version ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test__lt__with_higher_major_version @@ -10214,17 +10262,12 @@ magnum.tests.unit.api.controllers.test_base.TestVersion.test_init ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test_is_null_false magnum.tests.unit.api.controllers.test_base.TestVersion.test_is_null_false ... ok -INFO [alembic.runtime.migration] Running stamp_revision -> c0f832afc4fd magnum.tests.unit.api.controllers.test_base.TestVersion.test_is_null_true magnum.tests.unit.api.controllers.test_base.TestVersion.test_is_null_true ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test_matches_end_version magnum.tests.unit.api.controllers.test_base.TestVersion.test_matches_end_version ... ok -magnum.tests.unit.api.controllers.test_root.TestV1Routing.test_route_checks_version -magnum.tests.unit.api.controllers.test_root.TestV1Routing.test_route_checks_version ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test_matches_null_version magnum.tests.unit.api.controllers.test_base.TestVersion.test_matches_null_version ... ok -magnum.tests.unit.api.controllers.v1.test_certificate.TestCertObject.test_cert_init -magnum.tests.unit.api.controllers.v1.test_certificate.TestCertObject.test_cert_init ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test_matches_start_version magnum.tests.unit.api.controllers.test_base.TestVersion.test_matches_start_version ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test_matches_valid_version @@ -10237,858 +10280,358 @@ magnum.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_bad_length ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_latest magnum.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_latest ... ok +INFO [alembic.runtime.migration] Context impl SQLiteImpl. +INFO [alembic.runtime.migration] Will assume non-transactional DDL. magnum.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_ok magnum.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_ok ... ok -magnum.tests.unit.api.controllers.v1.test_certificate.TestCertPolicyEnforcement.test_policy_disallow_create -magnum.tests.unit.api.controllers.v1.test_certificate.TestCertPolicyEnforcement.test_policy_disallow_create ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test_parse_incorrect_service_type magnum.tests.unit.api.controllers.test_base.TestVersion.test_parse_incorrect_service_type ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test_parse_no_header magnum.tests.unit.api.controllers.test_base.TestVersion.test_parse_no_header ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test_repr magnum.tests.unit.api.controllers.test_base.TestVersion.test_repr ... ok -magnum.tests.unit.api.controllers.v1.test_certificate.TestCertPolicyEnforcement.test_policy_disallow_get_one -magnum.tests.unit.api.controllers.v1.test_certificate.TestCertPolicyEnforcement.test_policy_disallow_get_one ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test_repr_with_strings magnum.tests.unit.api.controllers.test_base.TestVersion.test_repr_with_strings ... ok magnum.tests.unit.api.controllers.test_root.TestCheckVersions.test_check_version_invalid_major_version magnum.tests.unit.api.controllers.test_root.TestCheckVersions.test_check_version_invalid_major_version ... ok magnum.tests.unit.api.controllers.test_root.TestCheckVersions.test_check_version_ok magnum.tests.unit.api.controllers.test_root.TestCheckVersions.test_check_version_ok ... ok +INFO [alembic.runtime.migration] Running stamp_revision -> c0f832afc4fd magnum.tests.unit.api.controllers.test_root.TestCheckVersions.test_check_version_too_high magnum.tests.unit.api.controllers.test_root.TestCheckVersions.test_check_version_too_high ... ok -magnum.tests.unit.api.controllers.v1.test_certificate.TestCertPolicyEnforcement.test_policy_disallow_rotate -magnum.tests.unit.api.controllers.v1.test_certificate.TestCertPolicyEnforcement.test_policy_disallow_rotate ... ok -magnum.tests.unit.api.controllers.test_root.TestCheckVersions.test_check_version_too_low -magnum.tests.unit.api.controllers.test_root.TestCheckVersions.test_check_version_too_low ... ok -magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one -magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one ... ok -magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one_by_name -magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one_by_name ... ok -magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one_by_name_multiple_cluster -magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one_by_name_multiple_cluster ... ok -INFO [alembic.runtime.migration] Context impl SQLiteImpl. -INFO [alembic.runtime.migration] Will assume non-transactional DDL. -magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one_by_name_not_found -magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one_by_name_not_found ... ok -INFO [alembic.runtime.migration] Running stamp_revision -> c0f832afc4fd -magnum.tests.unit.api.controllers.test_root.TestHeathcheck.test_healthcheck_disable_file -magnum.tests.unit.api.controllers.test_root.TestHeathcheck.test_healthcheck_disable_file ... ok -magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_links -magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_links ... ok -magnum.tests.unit.api.controllers.test_root.TestHeathcheck.test_healthcheck_enabled -magnum.tests.unit.api.controllers.test_root.TestHeathcheck.test_healthcheck_enabled ... ok magnum.tests.unit.api.controllers.test_root.TestRootController.test_api_paste_file_not_exist magnum.tests.unit.api.controllers.test_root.TestRootController.test_api_paste_file_not_exist ... ok +magnum.tests.unit.api.controllers.test_root.TestCheckVersions.test_check_version_too_low +magnum.tests.unit.api.controllers.test_root.TestCheckVersions.test_check_version_too_low ... ok magnum.tests.unit.api.controllers.test_root.TestRootController.test_api_paste_file_not_exist_not_abs magnum.tests.unit.api.controllers.test_root.TestRootController.test_api_paste_file_not_exist_not_abs ... ok -magnum.tests.unit.api.controllers.v1.test_certificate.TestPost.test_create_cert -magnum.tests.unit.api.controllers.v1.test_certificate.TestPost.test_create_cert ... ok magnum.tests.unit.api.controllers.test_root.TestRootController.test_auth_with_no_public_routes magnum.tests.unit.api.controllers.test_root.TestRootController.test_auth_with_no_public_routes ... ok -magnum.tests.unit.api.controllers.v1.test_certificate.TestPost.test_create_cert_by_cluster_name -magnum.tests.unit.api.controllers.v1.test_certificate.TestPost.test_create_cert_by_cluster_name ... ok magnum.tests.unit.api.controllers.test_root.TestRootController.test_auth_with_root_access magnum.tests.unit.api.controllers.test_root.TestRootController.test_auth_with_root_access ... ok -Exception ignored in: . at 0xf00a3a78> -Traceback (most recent call last): - File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 729, in - _finalize_fairy( - File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 1035, in _finalize_fairy - connection_record.checkin() - File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 770, in checkin - pool.dispatch.checkin(connection, self) - File "/usr/lib/python3/dist-packages/sqlalchemy/event/attr.py", line 497, in __call__ - fn(*args, **kw) - File "/usr/lib/python3/dist-packages/oslo_db/sqlalchemy/engines.py", line 52, in _thread_yield - time.sleep(0) - File "/usr/lib/python3/dist-packages/eventlet/greenthread.py", line 35, in sleep - raise RuntimeError('do not call blocking functions from the mainloop') -RuntimeError: do not call blocking functions from the mainloop -magnum.tests.unit.api.controllers.v1.test_certificate.TestPost.test_create_cert_cluster_not_found -magnum.tests.unit.api.controllers.v1.test_certificate.TestPost.test_create_cert_cluster_not_found ... ok magnum.tests.unit.api.controllers.test_root.TestRootController.test_auth_with_v1_access magnum.tests.unit.api.controllers.test_root.TestRootController.test_auth_with_v1_access ... ok magnum.tests.unit.api.controllers.test_root.TestRootController.test_get_not_found magnum.tests.unit.api.controllers.test_root.TestRootController.test_get_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_certificate.TestRotateCaCertificate.test_rotate_ca_cert -magnum.tests.unit.api.controllers.v1.test_certificate.TestRotateCaCertificate.test_rotate_ca_cert ... ok +INFO [alembic.runtime.migration] Context impl SQLiteImpl. +INFO [alembic.runtime.migration] Will assume non-transactional DDL. +INFO [alembic.runtime.migration] Running stamp_revision -> c0f832afc4fd magnum.tests.unit.api.controllers.test_root.TestRootController.test_noauth magnum.tests.unit.api.controllers.test_root.TestRootController.test_noauth ... ok +magnum.tests.unit.api.controllers.test_root.TestHeathcheck.test_healthcheck_disable_file +magnum.tests.unit.api.controllers.test_root.TestHeathcheck.test_healthcheck_disable_file ... ok magnum.tests.unit.api.controllers.test_root.TestRootController.test_v1_controller magnum.tests.unit.api.controllers.test_root.TestRootController.test_v1_controller ... ok +magnum.tests.unit.api.controllers.test_root.TestHeathcheck.test_healthcheck_enabled +magnum.tests.unit.api.controllers.test_root.TestHeathcheck.test_healthcheck_enabled ... ok magnum.tests.unit.api.controllers.test_root.TestRootController.test_version magnum.tests.unit.api.controllers.test_root.TestRootController.test_version ... ok -GET: /v1/ {} -GOT:{'id': 'v1', 'media_types': [{'base': 'application/json', 'type': 'application/vnd.openstack.magnum.v1+json'}], 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}, {'href': 'http://docs.openstack.org/developer/magnum/dev/api-spec-v1.html', 'rel': 'describedby', 'type': 'text/html'}], 'clustertemplates': [{'href': 'http://localhost/v1/clustertemplates/', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/', 'rel': 'bookmark'}], 'clusters': [{'href': 'http://localhost/v1/clusters/', 'rel': 'self'}, {'href': 'http://localhost/clusters/', 'rel': 'bookmark'}], 'quotas': [{'href': 'http://localhost/v1/quotas/', 'rel': 'self'}, {'href': 'http://localhost/quotas/', 'rel': 'bookmark'}], 'certificates': [{'href': 'http://localhost/v1/certificates/', 'rel': 'self'}, {'href': 'http://localhost/certificates/', 'rel': 'bookmark'}], 'mservices': [{'href': 'http://localhost/v1/mservices/', 'rel': 'self'}, {'href': 'http://localhost/mservices/', 'rel': 'bookmark'}], 'stats': [{'href': 'http://localhost/v1/stats/', 'rel': 'self'}, {'href': 'http://localhost/stats/', 'rel': 'bookmark'}], 'federations': [{'href': 'http://localhost/v1/federations/', 'rel': 'self'}, {'href': 'http://localhost/federations/', 'rel': 'bookmark'}], 'nodegroups': [{'href': 'http://localhost/v1/clusters/{cluster_id}/nodegroups', 'rel': 'self'}, {'href': 'http://localhost/clusters/{cluster_id}/nodegroups', 'rel': 'bookmark'}]} -POST: /v1/certificates {'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'csr': 'fake-csr', 'pem': 'fake-pem'} -GOT:Response: 403 Forbidden -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow certificate:create to be performed", "detail": "Policy doesn't allow certificate:create to be performed.", "links": []}]} -GET: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:Response: 403 Forbidden -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow certificate:get to be performed", "detail": "Policy doesn't allow certificate:get to be performed.", "links": []}]} -PATCH: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:Response: 403 Forbidden -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow certificate:rotate_ca to be performed", "detail": "Policy doesn't allow certificate:rotate_ca to be performed.", "links": []}]} -GET: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} -GET: /v1/certificates/cluster1 {} -GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} -GET: /v1/certificates/test_cluster {} -GOT:Response: 409 Conflict -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Multiple clusters exist with same name", "detail": "Multiple clusters exist with same name. Please use the cluster uuid instead.", "links": []}]} -GET: /v1/certificates/not_found {} -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not_found could not be found", "detail": "Cluster not_found could not be found.", "links": []}]} -GET: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} -GET: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} -GET: /certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} -POST: /v1/certificates {'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'csr': 'fake-csr'} -GOT:Response: 201 Created -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"cluster_uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "links": [{"href": "http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "rel": "self"}, {"href": "http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "rel": "bookmark"}], "csr": "fake-csr", "pem": "fake-pem"} -POST: /v1/certificates {'cluster_uuid': 'cluster1', 'csr': 'fake-csr'} -GOT:Response: 201 Created -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"cluster_uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "links": [{"href": "http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "rel": "self"}, {"href": "http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "rel": "bookmark"}], "csr": "fake-csr", "pem": "fake-pem"} -POST: /v1/certificates {'cluster_uuid': 'not_found', 'csr': 'fake-csr'} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Cluster not_found could not be found", "detail": "Cluster not_found could not be found.", "links": []}]} -PATCH: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -PATCH: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Rotating the CA certificate on a non-TLS cluster is not supported", "detail": "Rotating the CA certificate on a non-TLS cluster is not supported", "links": []}]}magnum.tests.unit.api.controllers.v1.test_certificate.TestRotateCaCertificateNonTls.test_rotate_ca_cert_non_tls -magnum.tests.unit.api.controllers.v1.test_certificate.TestRotateCaCertificateNonTls.test_rotate_ca_cert_non_tls ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterObject.test_cluster_init -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterObject.test_cluster_init ... ok +magnum.tests.unit.api.controllers.test_root.TestV1Routing.test_route_checks_version +magnum.tests.unit.api.controllers.test_root.TestV1Routing.test_route_checks_version ... ok +magnum.tests.unit.api.controllers.v1.test_certificate.TestCertObject.test_cert_init +magnum.tests.unit.api.controllers.v1.test_certificate.TestCertObject.test_cert_init ... ok +magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one +magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one ... ok +magnum.tests.unit.api.controllers.v1.test_certificate.TestCertPolicyEnforcement.test_policy_disallow_create +magnum.tests.unit.api.controllers.v1.test_certificate.TestCertPolicyEnforcement.test_policy_disallow_create ... ok +magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one_by_name +magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one_by_name ... ok +magnum.tests.unit.api.controllers.v1.test_certificate.TestCertPolicyEnforcement.test_policy_disallow_get_one +magnum.tests.unit.api.controllers.v1.test_certificate.TestCertPolicyEnforcement.test_policy_disallow_get_one ... ok +magnum.tests.unit.api.controllers.v1.test_certificate.TestCertPolicyEnforcement.test_policy_disallow_rotate +magnum.tests.unit.api.controllers.v1.test_certificate.TestCertPolicyEnforcement.test_policy_disallow_rotate ... ok +magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one_by_name_multiple_cluster +magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one_by_name_multiple_cluster ... ok +magnum.tests.unit.api.controllers.v1.test_certificate.TestPost.test_create_cert +magnum.tests.unit.api.controllers.v1.test_certificate.TestPost.test_create_cert ... ok +magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one_by_name_not_found +magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one_by_name_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_certificate.TestPost.test_create_cert_by_cluster_name +magnum.tests.unit.api.controllers.v1.test_certificate.TestPost.test_create_cert_by_cluster_name ... ok +magnum.tests.unit.api.controllers.v1.test_certificate.TestPost.test_create_cert_cluster_not_found +magnum.tests.unit.api.controllers.v1.test_certificate.TestPost.test_create_cert_cluster_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_links +magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_links ... ok +magnum.tests.unit.api.controllers.v1.test_certificate.TestRotateCaCertificate.test_rotate_ca_cert +magnum.tests.unit.api.controllers.v1.test_certificate.TestRotateCaCertificate.test_rotate_ca_cert ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_create -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_create ... ok +magnum.tests.unit.api.controllers.v1.test_certificate.TestRotateCaCertificateNonTls.test_rotate_ca_cert_non_tls +magnum.tests.unit.api.controllers.v1.test_certificate.TestRotateCaCertificateNonTls.test_rotate_ca_cert_non_tls ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster_as_admin magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster_as_admin ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterObject.test_cluster_init +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterObject.test_cluster_init ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster_not_found magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_create +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_create ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster_with_name +magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster_with_name ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster_with_name_not_found +magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster_with_name_not_found ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_delete magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_delete ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_detail magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_detail ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster_with_name -magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster_with_name ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_get_all magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_get_all ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster_with_name_not_found -magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster_with_name_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_get_one -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_get_one ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_multiple_cluster_by_name magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_multiple_cluster_by_name ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_update -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_update ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_add_non_existent_property -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_add_non_existent_property ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_only_owner_delete -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_only_owner_delete ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_mandatory_property_fail -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_mandatory_property_fail ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_only_owner_get_one -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_only_owner_get_one ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_only_owner_update -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_only_owner_update ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_non_existent_property -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_non_existent_property ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_collection_links -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_collection_links ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_ok ... ok - -DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 -GOT:Response: 204 No Content -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version - -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 could not be found", "detail": "Cluster 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 could not be found.", "links": []}]} -DELETE: /v1/clusters/46440ca1-bda1-4787-8281-c1338c7f635f -GOT:Response: 204 No Content -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version - -DELETE: /v1/clusters/b1a76c7f-db46-4079-bc25-cfa37a1ee78e -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster b1a76c7f-db46-4079-bc25-cfa37a1ee78e could not be found", "detail": "Cluster b1a76c7f-db46-4079-bc25-cfa37a1ee78e could not be found.", "links": []}]} -DELETE: /v1/clusters/cluster1 -GOT:Response: 204 No Content -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version - -DELETE: /v1/clusters/not_found -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not_found could not be found", "detail": "Cluster not_found could not be found.", "links": []}]} -DELETE: /v1/clusters/test_cluster -GOT:Response: 409 Conflict -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Multiple clusters exist with same name", "detail": "Multiple clusters exist with same name. Please use the cluster uuid instead.", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Adding a new attribute /foo to the root of the resource is not allowed", "detail": "Adding a new attribute /foo to the root of the resource is not allowed.", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/uuid', 'op': 'remove'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/uuid' is an internal attribute and can not be updated", "detail": "'/uuid' is an internal attribute and can not be updated", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/cluster_template_id', 'op': 'remove'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/cluster_template_id' is a mandatory attribute and can not be removed", "detail": "'/cluster_template_id' is a mandatory attribute and can not be removed", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/non-existent', 'op': 'remove'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Couldn't apply patch '[{'path': '/non-existent', 'op': 'remove'}]'", "detail": "Couldn't apply patch '[{'path': '/non-existent', 'op': 'remove'}]'. Reason: can't remove a non-existent object 'non-existent'", "links": []}]} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'UNKNOWN', 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-19T05:12:45.674813+00:00', 'updated_at': None} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/node_count', 'op': 'remove'}] -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 1, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'UPDATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'UNKNOWN', 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-19T05:12:45.674813+00:00', 'updated_at': '2026-02-19T05:12:45.716089+00:00'} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/name', 'value': 'cluster_example_B', 'op': 'replace'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "cannot change cluster property(ies) name", "detail": "cannot change cluster property(ies) name.", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_cluster_name_failed -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_cluster_name_failed ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_cluster_template_id_failed -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_cluster_template_id_failed ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_health_status_ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_health_status_ok ... ok -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} -GOT:Response: 403 Forbidden -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:create to be performed", "detail": "Policy doesn't allow cluster:create to be performed.", "links": []}]} -DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 -GOT:Response: 403 Forbidden -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:delete to be performed", "detail": "Policy doesn't allow cluster:delete to be performed.", "links": []}]} -GET: /v1/clusters/fef94e14-a934-4296-8a59-b818af896af5/detail {} -GOT:Response: 403 Forbidden -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:detail to be performed", "detail": "Policy doesn't allow cluster:detail to be performed.", "links": []}]} -GET: /v1/clusters {} -GOT:Response: 403 Forbidden -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:get_all to be performed", "detail": "Policy doesn't allow cluster:get_all to be performed.", "links": []}]} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:Response: 403 Forbidden -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:get to be performed", "detail": "Policy doesn't allow cluster:get to be performed.", "links": []}]} -PATCH: /v1/clusters/cluster_example_A [{'path': '/name', 'value': 'new_name', 'op': 'replace'}] -GOT:Response: 403 Forbidden -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:update to be performed", "detail": "Policy doesn't allow cluster:update to be performed.", "links": []}]} -DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 -GOT:Response: 403 Forbidden -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:delete to be performed", "detail": "Policy doesn't allow cluster:delete to be performed.", "links": []}]} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:Response: 403 Forbidden -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:get to be performed", "detail": "Policy doesn't allow cluster:get to be performed.", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/name', 'value': 'new_name', 'op': 'replace'}] -GOT:Response: 403 Forbidden -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:update to be performed", "detail": "Policy doesn't allow cluster:update to be performed.", "links": []}]} -GET: /v1/clusters/?limit=3 {} -GOT:{'clusters': [{'uuid': '3382c53a-09bb-4c0f-ac9b-e59fe9e2f4d9', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/3382c53a-09bb-4c0f-ac9b-e59fe9e2f4d9', 'rel': 'self'}, {'href': 'http://localhost/clusters/3382c53a-09bb-4c0f-ac9b-e59fe9e2f4d9', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '8010b137-3576-4ec1-8b39-9a6ad70f9aec', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/8010b137-3576-4ec1-8b39-9a6ad70f9aec', 'rel': 'self'}, {'href': 'http://localhost/clusters/8010b137-3576-4ec1-8b39-9a6ad70f9aec', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'f0d9a773-7814-4b44-84ef-69043211854d', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/f0d9a773-7814-4b44-84ef-69043211854d', 'rel': 'self'}, {'href': 'http://localhost/clusters/f0d9a773-7814-4b44-84ef-69043211854d', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}], 'next': 'http://localhost/v1/clusters?sort_key=id&sort_dir=asc&limit=3&marker=f0d9a773-7814-4b44-84ef-69043211854d'} -GET: /v1/clusters {} -GOT:{'clusters': [{'uuid': '07600790-5f46-43fb-b983-1bd648847eba', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/07600790-5f46-43fb-b983-1bd648847eba', 'rel': 'self'}, {'href': 'http://localhost/clusters/07600790-5f46-43fb-b983-1bd648847eba', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '977de9b9-9641-459b-b56e-efd51458646a', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/977de9b9-9641-459b-b56e-efd51458646a', 'rel': 'self'}, {'href': 'http://localhost/clusters/977de9b9-9641-459b-b56e-efd51458646a', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'eeb0cdf7-6fe0-4f91-b7b8-5091a27aa211', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/eeb0cdf7-6fe0-4f91-b7b8-5091a27aa211', 'rel': 'self'}, {'href': 'http://localhost/clusters/eeb0cdf7-6fe0-4f91-b7b8-5091a27aa211', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}], 'next': 'http://localhost/v1/clusters?sort_key=id&sort_dir=asc&limit=3&marker=eeb0cdf7-6fe0-4f91-b7b8-5091a27aa211'}magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_collection_links_default_limit -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_collection_links_default_limit ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail_against_single -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail_against_single ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail_with_pagination_marker -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail_with_pagination_marker ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_empty -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_empty ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_invalid_node_count -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_invalid_node_count ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_non_existent_cluster -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_non_existent_cluster ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_all_with_all_projects -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_all_with_all_projects ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_non_existent_cluster_template_id -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_non_existent_cluster_template_id ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_all_with_pagination_marker -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_all_with_pagination_marker ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok_by_name -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok_by_name ... ok - -GET: /v1/clusters/detail {} -GOT:{'clusters': [{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-19T05:12:45.787557+00:00', 'updated_at': None}]} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/detail {} -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "The %(name)s resource %(id)s could not be found", "detail": "The %(name)s resource %(id)s could not be found.", "links": []}]} -GET: /v1/clusters/detail?limit=3&marker=fcb66532-461b-40a5-a1da-56d4f968571c {} -GOT:{'clusters': [{'uuid': '80d4936c-7cc6-4b75-8abb-1955c9075665', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/80d4936c-7cc6-4b75-8abb-1955c9075665', 'rel': 'self'}, {'href': 'http://localhost/clusters/80d4936c-7cc6-4b75-8abb-1955c9075665', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-19T05:12:45.847243+00:00', 'updated_at': None}]} -GET: /v1/clusters {} -GOT:{'clusters': []} -GET: /v1/clusters {} -GOT:{'clusters': [{'uuid': 'f1c1079f-5212-4742-ae56-a19eacc211e0', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/f1c1079f-5212-4742-ae56-a19eacc211e0', 'rel': 'self'}, {'href': 'http://localhost/clusters/f1c1079f-5212-4742-ae56-a19eacc211e0', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '05f1878d-89ae-47eb-b699-247fb773622c', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/05f1878d-89ae-47eb-b699-247fb773622c', 'rel': 'self'}, {'href': 'http://localhost/clusters/05f1878d-89ae-47eb-b699-247fb773622c', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'f473baef-86cc-4e19-b05b-e36a7415e924', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/f473baef-86cc-4e19-b05b-e36a7415e924', 'rel': 'self'}, {'href': 'http://localhost/clusters/f473baef-86cc-4e19-b05b-e36a7415e924', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'a100df13-4614-49ce-9fb2-9ae401aefe11', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/a100df13-4614-49ce-9fb2-9ae401aefe11', 'rel': 'self'}, {'href': 'http://localhost/clusters/a100df13-4614-49ce-9fb2-9ae401aefe11', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}]} -GET: /v1/clusters?limit=3&marker=97e8347a-6590-4825-af10-1c83c36d93b1 {} -GOT:{'clusters': [{'uuid': '6ecfbf4b-316e-4902-b941-365e60958653', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/6ecfbf4b-316e-4902-b941-365e60958653', 'rel': 'self'}, {'href': 'http://localhost/clusters/6ecfbf4b-316e-4902-b941-365e60958653', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}]} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-19T05:12:45.987988+00:00', 'updated_at': None} -GET: /v1/clusters/cluster1 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-19T05:12:46.018310+00:00', 'updated_at': None}magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name_multiple_cluster -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name_multiple_cluster ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name_not_found -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok_by_name_multiple_cluster -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok_by_name_multiple_cluster ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid ... ok - -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/cluster_template_id', 'value': '8e1addc9-6a97-4957-9e9c-7a710fabcae3', 'op': 'replace'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "cannot change cluster property(ies) cluster_template_id", "detail": "cannot change cluster property(ies) cluster_template_id.", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/health_status', 'value': 'HEALTHY', 'op': 'replace'}, {'path': '/health_status_reason', 'value': '{"api": "ok"}', 'op': 'replace'}] -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 6, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'UPDATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'HEALTHY', 'health_status_reason': {'api': 'ok'}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4', '172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-19T05:12:45.814836+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/node_count', 'value': -1, 'op': 'replace'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute node_count", "detail": "Invalid input for field/attribute node_count. Value: '-1'. Value should be greater or equal to 0", "links": []}]} -PATCH: /v1/clusters/8bedc909-fd39-46af-b2ec-5abf0d4dea7d [{'path': '/name', 'value': 'cluster_example_B', 'op': 'replace'}] -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 8bedc909-fd39-46af-b2ec-5abf0d4dea7d could not be found", "detail": "Cluster 8bedc909-fd39-46af-b2ec-5abf0d4dea7d could not be found.", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/cluster_template_id', 'value': 'd2ef3435-db42-41d7-9242-2003918231f8', 'op': 'replace'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "cannot change cluster property(ies) cluster_template_id", "detail": "cannot change cluster property(ies) cluster_template_id.", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/node_count', 'value': 4, 'op': 'replace'}] -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 4, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'UPDATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'UNKNOWN', 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-19T05:12:45.957157+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} -PATCH: /v1/clusters/cluster_example_A [{'path': '/node_count', 'value': 4, 'op': 'replace'}] -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 4, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'UPDATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'UNKNOWN', 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-19T05:12:46.009639+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} -PATCH: /v1/clusters/test_cluster [{'path': '/name', 'value': 'test_cluster', 'op': 'replace'}] -GOT:Response: 409 Conflict -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Multiple clusters exist with same name", "detail": "Multiple clusters exist with same name. Please use the cluster uuid instead.", "links": []}]} -PATCH: /v1/clusters/not_found [{'path': '/name', 'value': 'not_found', 'op': 'replace'}] -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not_found could not be found", "detail": "Cluster not_found could not be found.", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok_by_name_not_found -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok_by_name_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok_by_uuid_not_found -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok_by_uuid_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid_admin -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid_admin ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid_not_found -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_as_admin -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_as_admin ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_failed_cluster -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_failed_cluster ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_rollback_disabled -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_rollback_disabled ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_merged_labels -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_merged_labels ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_rollback_enabled -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_rollback_enabled ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_zero_node_count -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_zero_node_count ... ok - -GET: /v1/clusters/test_cluster {} -GOT:Response: 409 Conflict -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Multiple clusters exist with same name", "detail": "Multiple clusters exist with same name. Please use the cluster uuid instead.", "links": []}]} -GET: /v1/clusters/not_found {} -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not_found could not be found", "detail": "Cluster not_found could not be found.", "links": []}]} -GET: /v1/clusters/7a5c0acf-6cd3-4ef2-ae02-1dd4a58f1d58 {} -GOT:{'uuid': '7a5c0acf-6cd3-4ef2-ae02-1dd4a58f1d58', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/7a5c0acf-6cd3-4ef2-ae02-1dd4a58f1d58', 'rel': 'self'}, {'href': 'http://localhost/clusters/7a5c0acf-6cd3-4ef2-ae02-1dd4a58f1d58', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-19T05:12:46.086791+00:00', 'updated_at': None} -GET: /v1/clusters/70cfb9b0-d47d-4058-b0a6-08d2ed2aaaaa {} -GOT:{'uuid': '70cfb9b0-d47d-4058-b0a6-08d2ed2aaaaa', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/70cfb9b0-d47d-4058-b0a6-08d2ed2aaaaa', 'rel': 'self'}, {'href': 'http://localhost/clusters/70cfb9b0-d47d-4058-b0a6-08d2ed2aaaaa', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': '70cfb9b0-d47d-4058-b0a6-08d2ed2aaaaa', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-19T05:12:46.117126+00:00', 'updated_at': None} -GET: /v1/clusters/487650f8-2234-4c01-b540-990790234808 {} -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 487650f8-2234-4c01-b540-990790234808 could not be found", "detail": "Cluster 487650f8-2234-4c01-b540-990790234808 could not be found.", "links": []}]} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_FAILED', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'faults': {'test-master': 'fake_reason'}, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-19T05:12:46.168949+00:00', 'updated_at': None} -GET: /v1/clusters/ea43db37-e67a-4ad7-a842-0db6889e46a5 {} -GOT:{'uuid': 'ea43db37-e67a-4ad7-a842-0db6889e46a5', 'name': 'cluster1', 'cluster_template_id': 'd996f6a8-e90e-473d-9b12-dba540386701', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {'label1': 'value3', 'label4': 'value4'}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/ea43db37-e67a-4ad7-a842-0db6889e46a5', 'rel': 'self'}, {'href': 'http://localhost/clusters/ea43db37-e67a-4ad7-a842-0db6889e46a5', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {'label1': 'value1'}, 'labels_added': {'label4': 'value4'}, 'labels_skipped': {'label2': 'value2'}, 'master_lb_enabled': True, 'created_at': '2026-02-19T05:12:46.202887+00:00', 'updated_at': None} -GET: /v1/clusters/1bd9c384-a865-4559-9993-e23c4bd726f8 {} -GOT:{'uuid': '1bd9c384-a865-4559-9993-e23c4bd726f8', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/1bd9c384-a865-4559-9993-e23c4bd726f8', 'rel': 'self'}, {'href': 'http://localhost/clusters/1bd9c384-a865-4559-9993-e23c4bd726f8', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-19T05:12:46.232773+00:00', 'updated_at': None} -GET: /v1/clusters/1bd9c384-a865-4559-9993-e23c4bd726f8 {} -GOT:{'uuid': '1bd9c384-a865-4559-9993-e23c4bd726f8', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/1bd9c384-a865-4559-9993-e23c4bd726f8', 'rel': 'self'}, {'href': 'http://localhost/clusters/1bd9c384-a865-4559-9993-e23c4bd726f8', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-19T05:12:46.232773+00:00', 'updated_at': None}magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_links -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_links ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_zero_node_count_fail -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_zero_node_count_fail ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_many -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_many ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_create -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_create ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_delete -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_delete ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_one -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_one ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_detail -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_detail ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_get_all -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_get_all ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_get_one -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_get_one ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_doesnt_contain_id magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_doesnt_contain_id ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_update -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_update ... ok -Exception ignored in: . at 0xeff9f528> -Traceback (most recent call last): - File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 729, in - _finalize_fairy( - File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 1035, in _finalize_fairy - connection_record.checkin() - File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 770, in checkin - pool.dispatch.checkin(connection, self) - File "/usr/lib/python3/dist-packages/sqlalchemy/event/attr.py", line 497, in __call__ - fn(*args, **kw) - File "/usr/lib/python3/dist-packages/oslo_db/sqlalchemy/engines.py", line 52, in _thread_yield - time.sleep(0) - File "/usr/lib/python3/dist-packages/eventlet/greenthread.py", line 35, in sleep - raise RuntimeError('do not call blocking functions from the mainloop') -RuntimeError: do not call blocking functions from the mainloop -Exception ignored in: . at 0xefebd6b8> -Traceback (most recent call last): - File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 729, in - _finalize_fairy( - File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 1035, in _finalize_fairy - connection_record.checkin() - File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 770, in checkin - pool.dispatch.checkin(connection, self) - File "/usr/lib/python3/dist-packages/sqlalchemy/event/attr.py", line 497, in __call__ - fn(*args, **kw) - File "/usr/lib/python3/dist-packages/oslo_db/sqlalchemy/engines.py", line 52, in _thread_yield - time.sleep(0) - File "/usr/lib/python3/dist-packages/eventlet/greenthread.py", line 35, in sleep - raise RuntimeError('do not call blocking functions from the mainloop') -RuntimeError: do not call blocking functions from the mainloop -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_only_owner_delete -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_only_owner_delete ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_generate_uuid magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_generate_uuid ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_only_owner_get_one -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_only_owner_get_one ... ok - -GET: /clusters/1bd9c384-a865-4559-9993-e23c4bd726f8 {} -GOT:{'uuid': '1bd9c384-a865-4559-9993-e23c4bd726f8', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/1bd9c384-a865-4559-9993-e23c4bd726f8', 'rel': 'self'}, {'href': 'http://localhost/clusters/1bd9c384-a865-4559-9993-e23c4bd726f8', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-19T05:12:46.232773+00:00', 'updated_at': None} -GET: /v1/clusters {} -GOT:{'clusters': [{'uuid': 'a1bea059-f860-4fb8-b0d8-ac70c36c9104', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/a1bea059-f860-4fb8-b0d8-ac70c36c9104', 'rel': 'self'}, {'href': 'http://localhost/clusters/a1bea059-f860-4fb8-b0d8-ac70c36c9104', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '1582078d-b7bc-4eaa-bff1-340d4de19750', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/1582078d-b7bc-4eaa-bff1-340d4de19750', 'rel': 'self'}, {'href': 'http://localhost/clusters/1582078d-b7bc-4eaa-bff1-340d4de19750', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'b4f4c8cb-8660-4ec9-8912-5736daf17f4c', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/b4f4c8cb-8660-4ec9-8912-5736daf17f4c', 'rel': 'self'}, {'href': 'http://localhost/clusters/b4f4c8cb-8660-4ec9-8912-5736daf17f4c', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '9e009111-d298-4563-90f8-e58b5773f543', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/9e009111-d298-4563-90f8-e58b5773f543', 'rel': 'self'}, {'href': 'http://localhost/clusters/9e009111-d298-4563-90f8-e58b5773f543', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '4bc5338c-bfd3-4522-9610-d2af6c227862', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/4bc5338c-bfd3-4522-9610-d2af6c227862', 'rel': 'self'}, {'href': 'http://localhost/clusters/4bc5338c-bfd3-4522-9610-d2af6c227862', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}]} -GET: /v1/clusters {} -GOT:{'clusters': [{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}]} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} -GOT:Response: 202 Accepted +GET: /v1/ {} +GOT:{'id': 'v1', 'media_types': [{'base': 'application/json', 'type': 'application/vnd.openstack.magnum.v1+json'}], 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}, {'href': 'http://docs.openstack.org/developer/magnum/dev/api-spec-v1.html', 'rel': 'describedby', 'type': 'text/html'}], 'clustertemplates': [{'href': 'http://localhost/v1/clustertemplates/', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/', 'rel': 'bookmark'}], 'clusters': [{'href': 'http://localhost/v1/clusters/', 'rel': 'self'}, {'href': 'http://localhost/clusters/', 'rel': 'bookmark'}], 'quotas': [{'href': 'http://localhost/v1/quotas/', 'rel': 'self'}, {'href': 'http://localhost/quotas/', 'rel': 'bookmark'}], 'certificates': [{'href': 'http://localhost/v1/certificates/', 'rel': 'self'}, {'href': 'http://localhost/certificates/', 'rel': 'bookmark'}], 'mservices': [{'href': 'http://localhost/v1/mservices/', 'rel': 'self'}, {'href': 'http://localhost/mservices/', 'rel': 'bookmark'}], 'stats': [{'href': 'http://localhost/v1/stats/', 'rel': 'self'}, {'href': 'http://localhost/stats/', 'rel': 'bookmark'}], 'federations': [{'href': 'http://localhost/v1/federations/', 'rel': 'self'}, {'href': 'http://localhost/federations/', 'rel': 'bookmark'}], 'nodegroups': [{'href': 'http://localhost/v1/clusters/{cluster_id}/nodegroups', 'rel': 'self'}, {'href': 'http://localhost/clusters/{cluster_id}/nodegroups', 'rel': 'bookmark'}]} +POST: /v1/certificates {'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'csr': 'fake-csr', 'pem': 'fake-pem'} +GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"uuid": "ac868abf-a932-444a-a1b5-69114f58294f"} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} -GOT:Response: 202 Accepted +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow certificate:create to be performed", "detail": "Policy doesn't allow certificate:create to be performed.", "links": []}]} +GET: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"uuid": "41aa7cb6-bac8-4e8e-a6d1-79460519e15d"} -POST: /v1/clusters {'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} -GOT:Response: 202 Accepted +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow certificate:get to be performed", "detail": "Policy doesn't allow certificate:get to be performed.", "links": []}]} +PATCH: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"uuid": "d523fd31-21ae-477f-8bdb-c144a64e78b5"} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} -GOT:Response: 400 Bad Request +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow certificate:rotate_ca to be performed", "detail": "Policy doesn't allow certificate:rotate_ca to be performed.", "links": []}]} +POST: /v1/certificates {'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'csr': 'fake-csr'} +GOT:Response: 201 Created Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute cluster_template_id", "detail": "Invalid input for field/attribute cluster_template_id. Value: 'None'. Mandatory field missing.", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_no_cluster_template_id -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_no_cluster_template_id ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_resource_limit_reached -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_resource_limit_reached ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_set_project_id_and_user_id -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_set_project_id_and_user_id ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_cinder_csi_disabled -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_cinder_csi_disabled ... ok - -PATCH: /v1/clusters/86670b6a-71c1-46bf-8bba-8bd27a685177 [{'path': '/cluster_id', 'value': '86670b6a-71c1-46bf-8bba-8bd27a685177', 'op': 'replace'}] -GOT:Response: 404 Not Found +{"cluster_uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "links": [{"href": "http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "rel": "self"}, {"href": "http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "rel": "bookmark"}], "csr": "fake-csr", "pem": "fake-pem"} +POST: /v1/certificates {'cluster_uuid': 'cluster1', 'csr': 'fake-csr'} +GOT:Response: 201 Created Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 86670b6a-71c1-46bf-8bba-8bd27a685177 could not be found", "detail": "Cluster 86670b6a-71c1-46bf-8bba-8bd27a685177 could not be found.", "links": []}]} -PATCH: /v1/clusters/77c0dcb7-889f-45a9-a13f-cddf82ea52f2 [{'path': '/node_count', 'value': 4, 'op': 'replace'}] -GOT:Response: 202 Accepted +{"cluster_uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "links": [{"href": "http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "rel": "self"}, {"href": "http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "rel": "bookmark"}], "csr": "fake-csr", "pem": "fake-pem"} +POST: /v1/certificates {'cluster_uuid': 'not_found', 'csr': 'fake-csr'} +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"uuid": "77c0dcb7-889f-45a9-a13f-cddf82ea52f2"} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/?rollback=False [{'path': '/node_count', 'value': 4, 'op': 'replace'}] +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Cluster not_found could not be found", "detail": "Cluster not_found could not be found.", "links": []}]} +PATCH: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.3 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version {"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/?rollback=True [{'path': '/node_count', 'value': 4, 'op': 'replace'}] -GOT:Response: 202 Accepted +PATCH: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.3 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/node_count', 'value': 0, 'op': 'replace'}] -GOT:Response: 202 Accepted +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Rotating the CA certificate on a non-TLS cluster is not supported", "detail": "Rotating the CA certificate on a non-TLS cluster is not supported", "links": []}]} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.10 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/node_count', 'value': 0, 'op': 'replace'}] -GOT:Response: 400 Bad Request +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:create to be performed", "detail": "Policy doesn't allow cluster:create to be performed.", "links": []}]} +DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 +GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing a nodegroup to zero is not supported in the provided microversion", "detail": "Resizing a nodegroup to zero is not supported in the provided microversion.", "links": []}]} -POST: /v1/clustertemplates {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'image_id': 'ubuntu', 'flavor_id': 'm1.small', 'master_flavor_id': 'm1.small', 'keypair_id': 'keypair1', 'external_network_id': 'd1f02cfb-d27f-4068-9332-84d907cb0e2e', 'fixed_network': 'private', 'fixed_subnet': 'private-subnet', 'network_driver': None, 'volume_driver': None, 'dns_nameserver': '8.8.1.1', 'apiserver_port': 8080, 'docker_volume_size': 20, 'docker_storage_driver': 'devicemapper', 'cluster_distro': 'fedora-coreos', 'coe': 'kubernetes', 'labels': {'key1': 'val1', 'key2': 'val2'}, 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'registry_enabled': False, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'hidden': False, 'tags': '', 'driver': ''} +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:delete to be performed", "detail": "Policy doesn't allow cluster:delete to be performed.", "links": []}]} +GET: /v1/clusters/d327b538-06e0-42c2-b886-1ced352c80ca/detail {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:create to be performed", "detail": "Policy doesn't allow clustertemplate:create to be performed.", "links": []}]} -DELETE: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:detail to be performed", "detail": "Policy doesn't allow cluster:detail to be performed.", "links": []}]} +GET: /v1/clusters {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:delete to be performed", "detail": "Policy doesn't allow clustertemplate:delete to be performed.", "links": []}]} -GET: /v1/clustertemplates/166fe328-916b-45f7-b7d8-91dec107f6e0/detail {} +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:get_all to be performed", "detail": "Policy doesn't allow cluster:get_all to be performed.", "links": []}]} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:detail to be performed", "detail": "Policy doesn't allow clustertemplate:detail to be performed.", "links": []}]} -GET: /v1/clustertemplates {} -GOT:Response: 403 Forbidden +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:get to be performed", "detail": "Policy doesn't allow cluster:get to be performed.", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_get_one +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_get_one ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_update +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_update ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_only_owner_delete +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_only_owner_delete ... ok +GET: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} +GET: /v1/certificates/cluster1 {} +GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} +GET: /v1/certificates/test_cluster {} +GOT:Response: 409 Conflict Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Multiple clusters exist with same name", "detail": "Multiple clusters exist with same name. Please use the cluster uuid instead.", "links": []}]} +GET: /v1/certificates/not_found {} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not_found could not be found", "detail": "Cluster not_found could not be found.", "links": []}]} +GET: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} +GET: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} +GET: /certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} +DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 +GOT:Response: 204 No Content +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:get_all to be performed", "detail": "Policy doesn't allow clustertemplate:get_all to be performed.", "links": []}]} -GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:Response: 403 Forbidden + +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:get to be performed", "detail": "Policy doesn't allow clustertemplate:get to be performed.", "links": []}]} -PATCH: /v1/clustertemplates/example_A [{'path': '/name', 'value': 'new_name', 'op': 'replace'}] -GOT:Response: 403 Forbidden +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 could not be found", "detail": "Cluster 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 could not be found.", "links": []}]} +DELETE: /v1/clusters/52d11f44-ed7a-4b79-bf7d-d26e0822354f +GOT:Response: 204 No Content +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version + +DELETE: /v1/clusters/fa2fe510-5a74-43da-9cd3-d94885cd1eef +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:update to be performed", "detail": "Policy doesn't allow clustertemplate:update to be performed.", "links": []}]} -DELETE: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 -GOT:Response: 403 Forbidden +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster fa2fe510-5a74-43da-9cd3-d94885cd1eef could not be found", "detail": "Cluster fa2fe510-5a74-43da-9cd3-d94885cd1eef could not be found.", "links": []}]} +DELETE: /v1/clusters/cluster1 +GOT:Response: 204 No Content +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version + +DELETE: /v1/clusters/not_found +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:delete to be performed", "detail": "Policy doesn't allow clustertemplate:delete to be performed.", "links": []}]} -GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:Response: 403 Forbidden +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not_found could not be found", "detail": "Cluster not_found could not be found.", "links": []}]} +DELETE: /v1/clusters/test_cluster +GOT:Response: 409 Conflict Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:get to be performed", "detail": "Policy doesn't allow clustertemplate:get to be performed.", "links": []}]} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/name', 'value': 'new_name', 'op': 'replace'}] -GOT:Response: 403 Forbidden +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Multiple clusters exist with same name", "detail": "Multiple clusters exist with same name. Please use the cluster uuid instead.", "links": []}]} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:update to be performed", "detail": "Policy doesn't allow clustertemplate:update to be performed.", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_only_owner_update -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_only_owner_update ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestFederationObject.test_federation_init -magnum.tests.unit.api.controllers.v1.test_federation.TestFederationObject.test_federation_init ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail_against_single -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail_against_single ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail_with_pagination_marker -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail_with_pagination_marker ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_empty -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_empty ... ok +{"uuid": "851060c7-7051-48b7-81ff-baaddb686f3c"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"uuid": "5d3ca4ac-890e-47cd-bdc6-0e26edc639c8"} +POST: /v1/clusters {'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"uuid": "66025e6c-fa7c-450f-beef-f6dac8ce905b"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_no_cluster_template_id +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_no_cluster_template_id ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_resource_limit_reached +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_resource_limit_reached ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_set_project_id_and_user_id +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_set_project_id_and_user_id ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_only_owner_get_one +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_only_owner_get_one ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_cinder_csi_disabled +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_cinder_csi_disabled ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_only_owner_update +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_only_owner_update ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_cluster_template_name magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_cluster_template_name ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_all_with_pagination_marker -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_all_with_pagination_marker ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_docker_volume_size magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_docker_volume_size ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_collection_links +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_collection_links ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_flavor_id magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_flavor_id ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name_multiple_federation -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name_multiple_federation ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name_not_found -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_uuid -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_uuid ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_collection_links_default_limit +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_collection_links_default_limit ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail_against_single +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail_against_single ... ok +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute cluster_template_id", "detail": "Invalid input for field/attribute cluster_template_id. Value: 'None'. Mandatory field missing.", "links": []}]} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -11096,7 +10639,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "d03c44b2-b56c-4ac7-9e95-5c54a94d211b"} +{"uuid": "b203ecf0-6397-49b5-b93a-8d0750a37404"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 403 Forbidden Content-Type: application/json @@ -11112,7 +10655,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "c61a70b5-78d8-4186-9a9a-0cae11016af6"} +{"uuid": "009b441b-db40-4967-a7b2-fea5041e8ead"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': {'cinder_csi_enabled': 'false'}, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -11120,7 +10663,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "a85571e2-23d0-45ed-965a-5b7b05063d2f"} +{"uuid": "1dd4bf78-12cd-456c-9856-4354083cc228"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'clustermodel1', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -11128,7 +10671,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "2e13dbca-555a-4d64-b58b-8a93218fc1d5"} +{"uuid": "b2c0f663-4ed3-4dbf-a52e-813b2df192fd"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': 3, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -11136,7 +10679,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "3e53c61f-6852-4b15-b473-36f7c6474046"} +{"uuid": "133a8fa7-044a-4755-8440-a5e042bb2fea"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': 'm2.small', 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -11144,7 +10687,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "f4dd013c-876f-4183-9c84-0f99eb3a2ef8"} +{"uuid": "054b5d14-fcf4-41c5-9dfe-e04e45ea58fd"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': -1, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 400 Bad Request Content-Type: application/json @@ -11164,80 +10707,70 @@ magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_docker_volume_size ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_ext_network magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_ext_network ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_uuid_not_found -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_uuid_not_found ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_flavor magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_flavor ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_links -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_links ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_keypair magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_keypair ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_labels magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_labels ... ok -GET: /v1/federations/detail {} -GOT:{'federations': [{'uuid': 'fbfefcdd-7949-4c77-a88e-0f26283ec28b', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/fbfefcdd-7949-4c77-a88e-0f26283ec28b', 'rel': 'self'}, {'href': 'http://localhost/federations/fbfefcdd-7949-4c77-a88e-0f26283ec28b', 'rel': 'bookmark'}], 'created_at': '2026-02-19T05:12:46.493339+00:00', 'updated_at': None}]} -GET: /v1/federations/9d1cdf1b-192e-49df-8765-f5b093499629/detail {} -GOT:Response: 404 Not Found +PATCH: /v1/clusters/cluster_example_A [{'path': '/name', 'value': 'new_name', 'op': 'replace'}] +GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "The %(name)s resource %(id)s could not be found", "detail": "The %(name)s resource %(id)s could not be found.", "links": []}]} -GET: /v1/federations/detail?limit=3&marker=0e494569-c268-4d1b-a771-f5b86db71e95 {} -GOT:{'federations': [{'uuid': 'e40d580e-88df-4310-b841-55eeb828cb9b', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/e40d580e-88df-4310-b841-55eeb828cb9b', 'rel': 'self'}, {'href': 'http://localhost/federations/e40d580e-88df-4310-b841-55eeb828cb9b', 'rel': 'bookmark'}], 'created_at': '2026-02-19T05:12:46.527215+00:00', 'updated_at': None}]} -GET: /v1/federations {} -GOT:{'federations': []} -GET: /v1/federations?limit=3&marker=5421905e-d2fd-42cb-9718-e3e55a87b168 {} -GOT:{'federations': [{'uuid': '4935a2bd-db54-49c7-8617-ca7174d2ad3c', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/4935a2bd-db54-49c7-8617-ca7174d2ad3c', 'rel': 'self'}, {'href': 'http://localhost/federations/4935a2bd-db54-49c7-8617-ca7174d2ad3c', 'rel': 'bookmark'}]}]} -GET: /v1/federations/dc64a354-34c2-4fe5-95a4-58dbf24ef642 {} -GOT:{'uuid': 'dc64a354-34c2-4fe5-95a4-58dbf24ef642', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/dc64a354-34c2-4fe5-95a4-58dbf24ef642', 'rel': 'self'}, {'href': 'http://localhost/federations/dc64a354-34c2-4fe5-95a4-58dbf24ef642', 'rel': 'bookmark'}], 'created_at': '2026-02-19T05:12:46.593061+00:00', 'updated_at': None} -GET: /v1/federations/fake-name {} -GOT:{'uuid': '1bef2705-43bb-4191-9708-8a6b5e030bb7', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/1bef2705-43bb-4191-9708-8a6b5e030bb7', 'rel': 'self'}, {'href': 'http://localhost/federations/1bef2705-43bb-4191-9708-8a6b5e030bb7', 'rel': 'bookmark'}], 'created_at': '2026-02-19T05:12:46.608686+00:00', 'updated_at': None} -GET: /v1/federations/test_federation {} -GOT:Response: 409 Conflict +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:update to be performed", "detail": "Policy doesn't allow cluster:update to be performed.", "links": []}]} +DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 +GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Multiple federations exist with same name", "detail": "Multiple federations exist with same name. Please use the federation uuid instead.", "links": []}]} -GET: /v1/federations/not_found {} -GOT:Response: 404 Not Found +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:delete to be performed", "detail": "Policy doesn't allow cluster:delete to be performed.", "links": []}]} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation not_found could not be found", "detail": "Federation not_found could not be found.", "links": []}]} -GET: /v1/federations/c15337d0-d4bd-4bf4-a97d-349c9587cef4 {} -GOT:{'uuid': 'c15337d0-d4bd-4bf4-a97d-349c9587cef4', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/c15337d0-d4bd-4bf4-a97d-349c9587cef4', 'rel': 'self'}, {'href': 'http://localhost/federations/c15337d0-d4bd-4bf4-a97d-349c9587cef4', 'rel': 'bookmark'}], 'created_at': '2026-02-19T05:12:46.651577+00:00', 'updated_at': None} -GET: /v1/federations/0a901898-c568-4cc5-be17-0f1ee09b1b88 {} +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:get to be performed", "detail": "Policy doesn't allow cluster:get to be performed.", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/name', 'value': 'new_name', 'op': 'replace'}] +GOT:Response: 403 Forbidden +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:update to be performed", "detail": "Policy doesn't allow cluster:update to be performed.", "links": []}]} +GET: /v1/clusters/?limit=3 {} +GOT:{'clusters': [{'uuid': '036e58ed-3312-4c0e-b883-8a498d402345', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/036e58ed-3312-4c0e-b883-8a498d402345', 'rel': 'self'}, {'href': 'http://localhost/clusters/036e58ed-3312-4c0e-b883-8a498d402345', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'b1e285b1-2bfa-43de-bbd1-adece74b03db', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/b1e285b1-2bfa-43de-bbd1-adece74b03db', 'rel': 'self'}, {'href': 'http://localhost/clusters/b1e285b1-2bfa-43de-bbd1-adece74b03db', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '5edf330a-5b05-4e95-9a4c-d5201b6969e2', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5edf330a-5b05-4e95-9a4c-d5201b6969e2', 'rel': 'self'}, {'href': 'http://localhost/clusters/5edf330a-5b05-4e95-9a4c-d5201b6969e2', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}], 'next': 'http://localhost/v1/clusters?sort_key=id&sort_dir=asc&limit=3&marker=5edf330a-5b05-4e95-9a4c-d5201b6969e2'} +GET: /v1/clusters {} +GOT:{'clusters': [{'uuid': '53857399-dc9f-41c2-aa81-54d33e86f57c', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/53857399-dc9f-41c2-aa81-54d33e86f57c', 'rel': 'self'}, {'href': 'http://localhost/clusters/53857399-dc9f-41c2-aa81-54d33e86f57c', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '4584493a-ce89-4a3f-be1f-abbea9e2d23d', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/4584493a-ce89-4a3f-be1f-abbea9e2d23d', 'rel': 'self'}, {'href': 'http://localhost/clusters/4584493a-ce89-4a3f-be1f-abbea9e2d23d', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'cd7e0fb3-87d9-4173-9c2a-2ad5cb7d727c', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/cd7e0fb3-87d9-4173-9c2a-2ad5cb7d727c', 'rel': 'self'}, {'href': 'http://localhost/clusters/cd7e0fb3-87d9-4173-9c2a-2ad5cb7d727c', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}], 'next': 'http://localhost/v1/clusters?sort_key=id&sort_dir=asc&limit=3&marker=cd7e0fb3-87d9-4173-9c2a-2ad5cb7d727c'} +GET: /v1/clusters/detail {} +GOT:{'clusters': [{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-16T22:54:43.596020+00:00', 'updated_at': None}]} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation 0a901898-c568-4cc5-be17-0f1ee09b1b88 could not be found", "detail": "Federation 0a901898-c568-4cc5-be17-0f1ee09b1b88 could not be found.", "links": []}]} -GET: /v1/federations/fdae789f-83b2-4695-8de1-fce2acff6570 {} -GOT:{'uuid': 'fdae789f-83b2-4695-8de1-fce2acff6570', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/fdae789f-83b2-4695-8de1-fce2acff6570', 'rel': 'self'}, {'href': 'http://localhost/federations/fdae789f-83b2-4695-8de1-fce2acff6570', 'rel': 'bookmark'}], 'created_at': '2026-02-19T05:12:46.770511+00:00', 'updated_at': None} -GET: /v1/federations/fdae789f-83b2-4695-8de1-fce2acff6570 {} -GOT:{'uuid': 'fdae789f-83b2-4695-8de1-fce2acff6570', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/fdae789f-83b2-4695-8de1-fce2acff6570', 'rel': 'self'}, {'href': 'http://localhost/federations/fdae789f-83b2-4695-8de1-fce2acff6570', 'rel': 'bookmark'}], 'created_at': '2026-02-19T05:12:46.770511+00:00', 'updated_at': None} -GET: /federations/fdae789f-83b2-4695-8de1-fce2acff6570 {} -GOT:{'uuid': 'fdae789f-83b2-4695-8de1-fce2acff6570', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/fdae789f-83b2-4695-8de1-fce2acff6570', 'rel': 'self'}, {'href': 'http://localhost/federations/fdae789f-83b2-4695-8de1-fce2acff6570', 'rel': 'bookmark'}], 'created_at': '2026-02-19T05:12:46.770511+00:00', 'updated_at': None} -GET: /v1/federations {} -GOT:{'federations': [{'uuid': '751070cb-3a96-4477-b893-a45db05b7e9d', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/751070cb-3a96-4477-b893-a45db05b7e9d', 'rel': 'self'}, {'href': 'http://localhost/federations/751070cb-3a96-4477-b893-a45db05b7e9d', 'rel': 'bookmark'}]}, {'uuid': '2cae839c-8ba9-4446-b047-572174ad1e26', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/2cae839c-8ba9-4446-b047-572174ad1e26', 'rel': 'self'}, {'href': 'http://localhost/federations/2cae839c-8ba9-4446-b047-572174ad1e26', 'rel': 'bookmark'}]}, {'uuid': '2f9f3ee8-9047-46af-8943-9105b48a72c1', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/2f9f3ee8-9047-46af-8943-9105b48a72c1', 'rel': 'self'}, {'href': 'http://localhost/federations/2f9f3ee8-9047-46af-8943-9105b48a72c1', 'rel': 'bookmark'}]}, {'uuid': '3cbab5be-836a-4b41-b891-3e6054e125a4', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/3cbab5be-836a-4b41-b891-3e6054e125a4', 'rel': 'self'}, {'href': 'http://localhost/federations/3cbab5be-836a-4b41-b891-3e6054e125a4', 'rel': 'bookmark'}]}, {'uuid': 'bcf85086-3176-4278-b69b-d788bc3f0232', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/bcf85086-3176-4278-b69b-d788bc3f0232', 'rel': 'self'}, {'href': 'http://localhost/federations/bcf85086-3176-4278-b69b-d788bc3f0232', 'rel': 'bookmark'}]}]}magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_many -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_many ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_one -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_one ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_generate_uuid -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_generate_uuid ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_hostcluster_does_not_exist -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_hostcluster_does_not_exist ... ok +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "The %(name)s resource %(id)s could not be found", "detail": "The %(name)s resource %(id)s could not be found.", "links": []}]} +GET: /v1/clusters/detail?limit=3&marker=f98dbabf-1282-45b3-85dc-04bb79d25726 {} +GOT:{'clusters': [{'uuid': '75dbf228-35aa-4d14-b0be-3951b83c5883', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/75dbf228-35aa-4d14-b0be-3951b83c5883', 'rel': 'self'}, {'href': 'http://localhost/clusters/75dbf228-35aa-4d14-b0be-3951b83c5883', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-16T22:54:43.712121+00:00', 'updated_at': None}]}magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail_with_pagination_marker +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail_with_pagination_marker ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_empty +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_empty ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_all_with_all_projects +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_all_with_all_projects ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_all_with_pagination_marker +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_all_with_pagination_marker ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one ... ok POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': 1, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 400 Bad Request @@ -11301,10 +10834,14 @@ magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_keypair ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_labels magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_labels ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_no_dns_zone_name -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_no_dns_zone_name ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_no_hostcluster_id -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_no_hostcluster_id ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name_multiple_cluster +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name_multiple_cluster ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name_not_found +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid ... ok GOT:Response: 400 Bad Request Content-Type: application/json @@ -11360,7 +10897,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "386d3078-fe3b-49c4-a4d9-e159241e838d"} +{"uuid": "d67a0063-4ce2-469f-aa96-48e761b557eb"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': {'key': 'value'}, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -11368,7 +10905,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "82dc4da0-d6e2-4921-a0d5-aa571c290858"} +{"uuid": "736fdbcd-0935-4409-a7f6-6a665b7fc07a"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 0, 'merge_labels': False} GOT:Response: 400 Bad Request Content-Type: application/json @@ -11382,120 +10919,58 @@ magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_master_flavor_id ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_merge_labels magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_merge_labels ... ok - -GET: /v1/federations {} -GOT:{'federations': [{'uuid': '6ac0ed1f-9f74-4e3f-af84-f6084f0e2463', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/6ac0ed1f-9f74-4e3f-af84-f6084f0e2463', 'rel': 'self'}, {'href': 'http://localhost/federations/6ac0ed1f-9f74-4e3f-af84-f6084f0e2463', 'rel': 'bookmark'}]}]} -POST: /v1/federations {'uuid': '69d1b3e9-1ae0-462b-8313-e8a2599428a9', 'name': 'fake-name', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "2f41f450-bbde-4fbc-b29b-0088eb13b0a0"} -POST: /v1/federations {'name': 'fake-name', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "8c21ac1e-e989-4286-8ee9-a3af01643ae5"} -POST: /v1/federations {'uuid': '377cf6ed-8efd-4ab5-80ff-2ac5e3aaca0e', 'name': 'fake-name', 'hostcluster_id': 'cbb68ef7-78ea-4b5c-9809-54043c3a8d34', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster cbb68ef7-78ea-4b5c-9809-54043c3a8d34 could not be found", "detail": "Cluster cbb68ef7-78ea-4b5c-9809-54043c3a8d34 could not be found.", "links": []}]} -POST: /v1/federations {'uuid': '67c71328-63d7-44f4-b6c1-7d51e2b9a4a7', 'name': 'fake-name', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Please specify a `properties` dict for the federation", "detail": "Please specify a `properties` dict for the federation.", "links": []}]} -POST: /v1/federations {'uuid': '3ecfc9b2-ddfd-4143-b8b5-3a376b43d119', 'name': 'fake-name', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "No hostcluster specified", "detail": "No hostcluster specified. Please specify a hostcluster_id.", "links": []}]} -POST: /v1/federations {'uuid': 'bbe80996-e8f6-41b3-a180-3ef8ebd4b821', 'name': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'. Value should have a maximum character requirement of 242", "links": []}]} -POST: /v1/federations {'uuid': '2f5d863a-ef2b-44a7-bf80-c26730e45498', 'name': '123456', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: '123456'. Value should match the pattern ^[a-zA-Z][a-zA-Z0-9_.-]*$", "links": []}]} -POST: /v1/federations {'uuid': '281a4eb9-0a76-4d0c-9fd4-b4aa96837504', 'name': '123456test_federation', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: '123456test_federation'. Value should match the pattern ^[a-zA-Z][a-zA-Z0-9_.-]*$", "links": []}]} -POST: /v1/federations {'uuid': 'eda5cdde-8ad0-4867-a67c-c5339a8a0438', 'name': '-test_federation', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: '-test_federation'. Value should match the pattern ^[a-zA-Z][a-zA-Z0-9_.-]*$", "links": []}]} -POST: /v1/federations {'uuid': 'dc6c15a8-0c60-446b-a4d4-a0d8a7d54217', 'name': '.test_federation', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: '.test_federation'. Value should match the pattern ^[a-zA-Z][a-zA-Z0-9_.-]*$", "links": []}]}magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_with_invalid_name -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_with_invalid_name ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_without_name -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_without_name ... ok -magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceObject.test_msvc_obj_fields_filtering -magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceObject.test_msvc_obj_fields_filtering ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_merge_labels_no_labels magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_merge_labels_no_labels ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_multi_images_same_name magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_multi_images_same_name ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_by_name_not_found -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_by_name_not_found ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_multi_keypair_same_name magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_multi_keypair_same_name ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_default_nodegroup -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_default_nodegroup ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_lb_multi_node magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_lb_multi_node ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_nodegroup -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_nodegroup ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_lb_one_node magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_lb_one_node ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_master_count magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_master_count ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_nodegroup_as_admin -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_nodegroup_as_admin ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_node_count magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_node_count ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_nodegroup_by_name -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_nodegroup_by_name ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_not_found -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_not_found ... ok + +GET: /v1/clusters {} +GOT:{'clusters': []} +GET: /v1/clusters {} +GOT:{'clusters': [{'uuid': 'b2264ced-798d-4fdc-9616-d36434174d90', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/b2264ced-798d-4fdc-9616-d36434174d90', 'rel': 'self'}, {'href': 'http://localhost/clusters/b2264ced-798d-4fdc-9616-d36434174d90', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'be02cbb1-cfc9-4612-adf1-68030d0f0a42', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/be02cbb1-cfc9-4612-adf1-68030d0f0a42', 'rel': 'self'}, {'href': 'http://localhost/clusters/be02cbb1-cfc9-4612-adf1-68030d0f0a42', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'edf7c6ec-de35-4497-a57a-a5f5a1af41ba', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/edf7c6ec-de35-4497-a57a-a5f5a1af41ba', 'rel': 'self'}, {'href': 'http://localhost/clusters/edf7c6ec-de35-4497-a57a-a5f5a1af41ba', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '97605b92-f43f-4ab5-a869-e9b7dc52415d', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/97605b92-f43f-4ab5-a869-e9b7dc52415d', 'rel': 'self'}, {'href': 'http://localhost/clusters/97605b92-f43f-4ab5-a869-e9b7dc52415d', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}]} +GET: /v1/clusters?limit=3&marker=90e616a0-adfe-4611-a08e-1f620a49d3d9 {} +GOT:{'clusters': [{'uuid': '5674d91b-8909-4ad2-822d-3c6958061f06', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5674d91b-8909-4ad2-822d-3c6958061f06', 'rel': 'self'}, {'href': 'http://localhost/clusters/5674d91b-8909-4ad2-822d-3c6958061f06', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}]} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-16T22:54:43.987211+00:00', 'updated_at': None} +GET: /v1/clusters/cluster1 {} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-16T22:54:44.048157+00:00', 'updated_at': None} +GET: /v1/clusters/test_cluster {} +GOT:Response: 409 Conflict +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Multiple clusters exist with same name", "detail": "Multiple clusters exist with same name. Please use the cluster uuid instead.", "links": []}]} +GET: /v1/clusters/not_found {} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not_found could not be found", "detail": "Cluster not_found could not be found.", "links": []}]} +GET: /v1/clusters/103c7dc1-6aa7-4648-9c8b-f7054578094d {} +GOT:{'uuid': '103c7dc1-6aa7-4648-9c8b-f7054578094d', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/103c7dc1-6aa7-4648-9c8b-f7054578094d', 'rel': 'self'}, {'href': 'http://localhost/clusters/103c7dc1-6aa7-4648-9c8b-f7054578094d', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-16T22:54:44.194910+00:00', 'updated_at': None} +GET: /v1/clusters/c4fdd2db-c916-4b31-8252-628b2741d585 {} +GOT:{'uuid': 'c4fdd2db-c916-4b31-8252-628b2741d585', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/c4fdd2db-c916-4b31-8252-628b2741d585', 'rel': 'self'}, {'href': 'http://localhost/clusters/c4fdd2db-c916-4b31-8252-628b2741d585', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'c4fdd2db-c916-4b31-8252-628b2741d585', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-16T22:54:44.258480+00:00', 'updated_at': None}magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid_admin +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid_admin ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid_not_found +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_failed_cluster +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_failed_cluster ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_merged_labels +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_merged_labels ... ok POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': 'm2.small', 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted @@ -11504,7 +10979,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "0a9cf0d9-2516-4530-9549-2ee41bdf8627"} +{"uuid": "a2b79f14-df13-42ec-a7ba-e64aa154f163"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': {'label2': 'value3', 'label4': 'value4'}, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': True} GOT:Response: 202 Accepted Content-Type: application/json @@ -11512,7 +10987,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "f6861ed7-73fa-4e41-abfd-0b22c61b2b92"} +{"uuid": "74a7949d-440d-4a4d-95d9-95317d922ae0"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': True} GOT:Response: 202 Accepted Content-Type: application/json @@ -11520,7 +10995,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "418e132e-9a22-42b8-a5f7-b84b499e535b"} +{"uuid": "b84c3c4a-d4f5-4306-9069-14b0d229661b"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 409 Conflict Content-Type: application/json @@ -11552,7 +11027,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "22b12bfe-345d-4d07-adc1-a0960a37efa6"} +{"uuid": "439292d0-2d90-46aa-aa95-c0e1ae9493f5"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -11560,7 +11035,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "67a9f4aa-1eeb-45c2-816b-4ff043d69ecf"} +{"uuid": "56bffc42-d5e5-4d7d-bbe9-052496f41b09"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -11568,7 +11043,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "7de03f4d-2090-495a-85e3-51e850eb1000"} +{"uuid": "da5847dc-b619-495e-b0cd-ba1164b545f7"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -11576,143 +11051,26 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "3dc4efc3-4967-49f8-9f88-cef4632e6110"}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_timeout +{"uuid": "cbbec878-cb3b-4ca2-b3c7-bee8e31062b7"}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_timeout magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_timeout ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_node_count_negative magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_node_count_negative ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_non_existent_cluster_template_id magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_non_existent_cluster_template_id ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_wrong_microversion -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_wrong_microversion ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_non_existent_cluster_template_name magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_non_existent_cluster_template_name ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_internal_attr -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_internal_attr ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_nonexist_image magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_nonexist_image ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_on_os_distro_image magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_on_os_distro_image ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_timeout_negative magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_timeout_negative ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_links +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_links ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_timeout_none magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_timeout_none ... ok - -POST: /v1/federations {'uuid': '42d1766c-d537-43ed-acb4-e93c0a2bb6b6', 'name': '_test_federation', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: '_test_federation'. Value should match the pattern ^[a-zA-Z][a-zA-Z0-9_.-]*$", "links": []}]} -POST: /v1/federations {'uuid': '47c0e781-1d88-4e87-a378-6d1c89b13cb1', 'name': '', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: ''. Value should have a minimum character requirement of 1", "links": []}]} -POST: /v1/federations {'uuid': '70c9c151-aee8-4aa0-ae4b-aeeac0290ea4', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "331cbed1-027a-45f2-9cdd-6500a561b474"} -DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/not-there -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup not-there could not be found", "detail": "Nodegroup not-there could not be found.", "links": []}]} -DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/fe85723e-7721-4978-8afb-a0efba3cbe0b -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Deleting a default nodegroup is not supported", "detail": "Deleting a default nodegroup is not supported.", "links": []}]} -DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 -GOT:Response: 204 No Content -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version - -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 {} -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup 483203a3-dbee-4a9c-9d65-9820512f4df8 could not be found", "detail": "Nodegroup 483203a3-dbee-4a9c-9d65-9820512f4df8 could not be found.", "links": []}]} -DELETE: /v1/clusters/77ead225-c89b-4f03-a2ab-771b6fbf83f8/nodegroups/13a78f26-890e-4f13-8415-7682f803384d -GOT:Response: 204 No Content -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version - -DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 -GOT:Response: 204 No Content -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version - -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 {} -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup nodegroup1 could not be found", "detail": "Nodegroup nodegroup1 could not be found.", "links": []}]} -DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/9c5df573-63a7-4c05-9b47-0bc80b0cb260 -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup 9c5df573-63a7-4c05-9b47-0bc80b0cb260 could not be found", "detail": "Nodegroup 9c5df573-63a7-4c05-9b47-0bc80b0cb260 could not be found.", "links": []}]} -DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 -GOT:Response: 406 Not Acceptable -Content-Type: application/json -{"errors": [{"request_id": "", "code": "", "status": 406, "title": "", "detail": "", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/node_count', 'op': 'remove'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/node_count' is an internal attribute and can not be updated", "detail": "'/node_count' is an internal attribute and can not be updated", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/min_node_count', 'op': 'remove'}] -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"id": 12, "uuid": "483203a3-dbee-4a9c-9d65-9820512f4df8", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 2, "role": "worker", "min_node_count": 0, "max_node_count": 5, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2026-02-19T05:12:47.209321+00:00", "updated_at": null} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 {} -GOT:{'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'cluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 2, 'role': 'worker', 'min_node_count': 0, 'max_node_count': 5, 'is_default': False, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2026-02-19T05:12:47.209321+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_min_node_count -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_min_node_count ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_non_existent_property -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_non_existent_property ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_timeout_zero magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_timeout_zero ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_ok ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_max_node_count_failed -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_max_node_count_failed ... ok POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': -1, 'master_count': 3, 'merge_labels': False} GOT:Response: 400 Bad Request @@ -11722,14 +11080,14 @@ Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute node_count", "detail": "Invalid input for field/attribute node_count. Value: '-1'. Value should be greater or equal to 0", "links": []}]} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'f5059352-f3f7-4579-b3fe-4f39d6ed1b6b', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': '643ec6b9-b999-49fc-8816-385ad4c8dd1c', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "ClusterTemplate f5059352-f3f7-4579-b3fe-4f39d6ed1b6b could not be found", "detail": "ClusterTemplate f5059352-f3f7-4579-b3fe-4f39d6ed1b6b could not be found.", "links": []}]} +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "ClusterTemplate 643ec6b9-b999-49fc-8816-385ad4c8dd1c could not be found", "detail": "ClusterTemplate 643ec6b9-b999-49fc-8816-385ad4c8dd1c could not be found.", "links": []}]} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'notfound', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 400 Bad Request Content-Type: application/json @@ -11769,7 +11127,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "15a05c0e-0905-44c9-964f-0046392de7dd"} +{"uuid": "3db4f27b-8282-4e25-8741-8256193d7962"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 0, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -11777,7 +11135,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "40938d4c-67c6-42aa-ae7a-fa6aa6732db3"} +{"uuid": "5069c579-46c8-4a4a-ad5b-52942c3e895c"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'test_cluster123456', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -11785,91 +11143,51 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "c5b987fa-7f48-4f8d-8d3e-5de6b5ace360"} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'test-cluster', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_min_node_count_failed -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_min_node_count_failed ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_node_count_failed -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_node_count_failed ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_valid_name +{"uuid": "81bfc0db-69ac-46a5-9665-136a8bbd5d0e"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'test-cluster', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_valid_name magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_valid_name ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_ok ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_zero_node_count magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_zero_node_count ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_zero_node_count_fail -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_zero_node_count_fail ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_docker_volume_size -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_docker_volume_size ... ok -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/not_there', 'op': 'remove'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Couldn't apply patch '[{'path': '/not_there', 'op': 'remove'}]'", "detail": "Couldn't apply patch '[{'path': '/not_there', 'op': 'remove'}]'. Reason: can't remove a non-existent object 'not_there'", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/max_node_count', 'op': 'remove'}] -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"id": 12, "uuid": "483203a3-dbee-4a9c-9d65-9820512f4df8", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 2, "role": "worker", "min_node_count": 2, "max_node_count": null, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2026-02-19T05:12:47.272489+00:00", "updated_at": null} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 {} -GOT:{'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'cluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 2, 'role': 'worker', 'min_node_count': 2, 'max_node_count': None, 'is_default': False, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2026-02-19T05:12:47.272489+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/max_node_count', 'value': 1, 'op': 'replace'}] -GOT:Response: 409 Conflict -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "max_node_count for nodegroup1 is invalid (min_node_count (2) should be less or equal to max_node_count (1))", "detail": "max_node_count for nodegroup1 is invalid (min_node_count (2) should be less or equal to max_node_count (1)).", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/min_node_count', 'value': 3, 'op': 'replace'}] -GOT:Response: 409 Conflict -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "min_node_count for nodegroup1 is invalid (min_node_count (3) should be less or equal to node_count (2))", "detail": "min_node_count for nodegroup1 is invalid (min_node_count (3) should be less or equal to node_count (2)).", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/node_count', 'value': 3, 'op': 'replace'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/node_count' is an internal attribute and can not be updated", "detail": "'/node_count' is an internal attribute and can not be updated", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 [{'path': '/max_node_count', 'value': 4, 'op': 'replace'}] -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"id": 12, "uuid": "483203a3-dbee-4a9c-9d65-9820512f4df8", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 2, "role": "worker", "min_node_count": 2, "max_node_count": 4, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2026-02-19T05:12:47.379382+00:00", "updated_at": null} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 {} -GOT:{'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'cluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 2, 'role': 'worker', 'min_node_count': 2, 'max_node_count': 4, 'is_default': False, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2026-02-19T05:12:47.379382+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/max_node_count', 'value': 4, 'op': 'replace'}] -GOT:Response: 202 Accepted +GET: /v1/clusters/95a85c43-53ac-4a91-94b5-caefffca28ad {} +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"id": 12, "uuid": "483203a3-dbee-4a9c-9d65-9820512f4df8", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 2, "role": "worker", "min_node_count": 2, "max_node_count": 4, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2026-02-19T05:12:47.413996+00:00", "updated_at": null}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_ok_by_name -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_ok_by_name ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_wrong_microversion -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_wrong_microversion ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_update_nodegroup_as_admin -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_update_nodegroup_as_admin ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_invalid_hard_limit -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_invalid_hard_limit ... ok +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 95a85c43-53ac-4a91-94b5-caefffca28ad could not be found", "detail": "Cluster 95a85c43-53ac-4a91-94b5-caefffca28ad could not be found.", "links": []}]} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_FAILED', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'faults': {'test-master': 'fake_reason'}, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-16T22:54:44.364846+00:00', 'updated_at': None} +GET: /v1/clusters/6de58575-3fbf-4c3d-b186-dccc1495b311 {} +GOT:{'uuid': '6de58575-3fbf-4c3d-b186-dccc1495b311', 'name': 'cluster1', 'cluster_template_id': '62b08b97-fcb1-4101-bb2e-5e71c4b4827d', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {'label1': 'value3', 'label4': 'value4'}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/6de58575-3fbf-4c3d-b186-dccc1495b311', 'rel': 'self'}, {'href': 'http://localhost/clusters/6de58575-3fbf-4c3d-b186-dccc1495b311', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {'label1': 'value1'}, 'labels_added': {'label4': 'value4'}, 'labels_skipped': {'label2': 'value2'}, 'master_lb_enabled': True, 'created_at': '2025-01-16T22:54:44.436792+00:00', 'updated_at': None} +GET: /v1/clusters/c3834ae8-bd85-40c5-b711-6832140ceeae {} +GOT:{'uuid': 'c3834ae8-bd85-40c5-b711-6832140ceeae', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/c3834ae8-bd85-40c5-b711-6832140ceeae', 'rel': 'self'}, {'href': 'http://localhost/clusters/c3834ae8-bd85-40c5-b711-6832140ceeae', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-16T22:54:44.515392+00:00', 'updated_at': None} +GET: /v1/clusters/c3834ae8-bd85-40c5-b711-6832140ceeae {} +GOT:{'uuid': 'c3834ae8-bd85-40c5-b711-6832140ceeae', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/c3834ae8-bd85-40c5-b711-6832140ceeae', 'rel': 'self'}, {'href': 'http://localhost/clusters/c3834ae8-bd85-40c5-b711-6832140ceeae', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-16T22:54:44.515392+00:00', 'updated_at': None} +GET: /clusters/c3834ae8-bd85-40c5-b711-6832140ceeae {} +GOT:{'uuid': 'c3834ae8-bd85-40c5-b711-6832140ceeae', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/c3834ae8-bd85-40c5-b711-6832140ceeae', 'rel': 'self'}, {'href': 'http://localhost/clusters/c3834ae8-bd85-40c5-b711-6832140ceeae', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-16T22:54:44.515392+00:00', 'updated_at': None} +GET: /v1/clusters {} +GOT:{'clusters': [{'uuid': '95f0cd85-9035-4a96-8887-e8ebfbc3f090', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/95f0cd85-9035-4a96-8887-e8ebfbc3f090', 'rel': 'self'}, {'href': 'http://localhost/clusters/95f0cd85-9035-4a96-8887-e8ebfbc3f090', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '1c7632be-66dd-4101-b2d7-5de0ad9a000b', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/1c7632be-66dd-4101-b2d7-5de0ad9a000b', 'rel': 'self'}, {'href': 'http://localhost/clusters/1c7632be-66dd-4101-b2d7-5de0ad9a000b', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '35c1d3bf-51c9-4a79-82e2-a80959080769', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/35c1d3bf-51c9-4a79-82e2-a80959080769', 'rel': 'self'}, {'href': 'http://localhost/clusters/35c1d3bf-51c9-4a79-82e2-a80959080769', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'f2c4bcbc-d7a4-4768-990a-fe04a3414fa3', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/f2c4bcbc-d7a4-4768-990a-fe04a3414fa3', 'rel': 'self'}, {'href': 'http://localhost/clusters/f2c4bcbc-d7a4-4768-990a-fe04a3414fa3', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '80050951-9642-464f-ab68-ff60b115047a', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/80050951-9642-464f-ab68-ff60b115047a', 'rel': 'self'}, {'href': 'http://localhost/clusters/80050951-9642-464f-ab68-ff60b115047a', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}]}magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_many +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_many ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_one +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_one ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_add_non_existent_property +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_add_non_existent_property ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_mandatory_property_fail +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_mandatory_property_fail ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_non_existent_property +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_non_existent_property ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_ok ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_zero_node_count_fail +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_zero_node_count_fail ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_docker_volume_size +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_docker_volume_size ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_cluster_name_failed +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_cluster_name_failed ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_cluster_template_id_failed +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_cluster_template_id_failed ... ok GOT:Response: 202 Accepted Content-Type: application/json @@ -11877,7 +11195,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "2e380f37-a5f3-460e-b52f-73c7cc04fce8"} +{"uuid": "9a7c3ffc-4219-43e1-b52c-30b7687bbc40"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'test.cluster', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -11885,7 +11203,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "5e649f5d-52e6-4941-ab8c-8d4ed71764b0"} +{"uuid": "abd0ea8e-cb9f-4d4b-9900-752a6563c52c"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'testcluster.', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -11893,7 +11211,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "92a09f2c-a2cc-4500-b9ea-50473e17d501"} +{"uuid": "042710f7-c79d-456a-a520-cdce0f0e8b84"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'testcluster-', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -11901,7 +11219,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "73db7f46-095e-43cb-ab10-f604ec30fd81"} +{"uuid": "f0d51b02-d15f-450d-929c-df47b8d3ff5b"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'testcluster_', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -11909,7 +11227,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "12aed0e1-ceee-4c1e-8873-01c12bc3fa44"} +{"uuid": "df5d6088-6c7e-4113-9b31-1bdf305aa737"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'test.-_cluster', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -11917,7 +11235,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "59d471b0-83a0-4cb2-9f3c-ff437ffd2553"} +{"uuid": "c5602614-0c38-4eeb-aad8-79c60bcc2ea1"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'Testcluster', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -11925,7 +11243,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "0ec1004d-7247-4703-a9dd-ce491b46dd83"} +{"uuid": "d039d93f-448c-43dc-a948-2d9873c942a9"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 0, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -11933,7 +11251,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.10 Vary: OpenStack-API-Version -{"uuid": "4a0d0112-01eb-498d-976f-dc9da0d5257e"} +{"uuid": "4369e9e5-c05d-43c8-80ca-450af4bdda69"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 0, 'master_count': 3, 'merge_labels': False} GOT:Response: 400 Bad Request Content-Type: application/json @@ -11949,154 +11267,123 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "b1afb4f5-724a-4775-92fa-007097689350"} +{"uuid": "d5496cbd-bc2a-4928-b93b-66f458b191a8"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_flavor_id magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_flavor_id ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_keypair magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_keypair ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_labels magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_labels ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_invalid_resource -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_invalid_resource ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_master_flavor_id magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_master_flavor_id ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_no_project_id -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_no_project_id ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_project_id_not_found -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_project_id_not_found ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_merge_labels magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_merge_labels ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_zero_quota -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_zero_quota ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_name magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_name ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_delete_quota -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_delete_quota ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_empty -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_empty ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_tenants -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_tenants ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_tenants_false -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_tenants_false ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_master_nodegroup -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_master_nodegroup ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_with_pagination_marker -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_with_pagination_marker ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_node_count_greater_than_max -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_node_count_greater_than_max ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_node_count_less_than_min -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_node_count_less_than_min ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade ... ok -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 {} -GOT:{'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'cluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 2, 'role': 'worker', 'min_node_count': 2, 'max_node_count': 4, 'is_default': False, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2026-02-19T05:12:47.413996+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/max_node_count', 'value': 4, 'op': 'replace'}] -GOT:Response: 406 Not Acceptable -Content-Type: application/json -{"errors": [{"request_id": "", "code": "", "status": 406, "title": "", "detail": "", "links": []}]} -PATCH: /v1/clusters/17d6dc6a-2ae9-44f3-ad71-73fe71992c94/nodegroups/f733c122-9c29-486a-9f8d-cc976cd27c2d [{'path': '/max_node_count', 'value': 4, 'op': 'replace'}] -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"id": 50, "uuid": "f733c122-9c29-486a-9f8d-cc976cd27c2d", "name": "nodegroup1", "cluster_id": "17d6dc6a-2ae9-44f3-ad71-73fe71992c94", "project_id": "fake", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/17d6dc6a-2ae9-44f3-ad71-73fe71992c94/nodegroups/f733c122-9c29-486a-9f8d-cc976cd27c2d", "rel": "self"}, {"href": "http://localhost/clusters/17d6dc6a-2ae9-44f3-ad71-73fe71992c94/nodegroups/f733c122-9c29-486a-9f8d-cc976cd27c2d", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": 4, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2026-02-19T05:12:47.475400+00:00", "updated_at": null} -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} -GOT:Response: 201 Created +GET: /v1/clusters {} +GOT:{'clusters': [{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2026-02-19T05:12:47.501592+00:00", "updated_at": null} -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': -10} +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Adding a new attribute /foo to the root of the resource is not allowed", "detail": "Adding a new attribute /foo to the root of the resource is not allowed.", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute hard_limit", "detail": "Invalid input for field/attribute hard_limit. Value: '-10'. Value should be greater or equal to 0", "links": []}]} -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'invalid-res', 'hard_limit': 10} +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/uuid' is an internal attribute and can not be updated", "detail": "'/uuid' is an internal attribute and can not be updated", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/cluster_template_id', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute resource", "detail": "Invalid input for field/attribute resource. Value: 'invalid-res'. Value should be one of: Cluster", "links": []}]} -POST: /v1/quotas {'id': 42, 'resource': 'Cluster', 'hard_limit': 10} +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/cluster_template_id' is a mandatory attribute and can not be removed", "detail": "'/cluster_template_id' is a mandatory attribute and can not be removed", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Must provide a valid project ID", "detail": "Must provide a valid project ID.", "links": []}]} -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} -GOT:Response: 404 Not Found +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Couldn't apply patch '[{'path': '/non-existent', 'op': 'remove'}]'", "detail": "Couldn't apply patch '[{'path': '/non-existent', 'op': 'remove'}]'. Reason: can't remove a non-existent object 'non-existent'", "links": []}]} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'UNKNOWN', 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-16T22:54:45.008563+00:00', 'updated_at': None} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/node_count', 'op': 'remove'}] +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "The project_id fake_project could not be found", "detail": "The project_id fake_project could not be found.", "links": []}]} -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 0} -GOT:Response: 201 Created +{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 1, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'UPDATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'UNKNOWN', 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-16T22:54:45.008563+00:00', 'updated_at': '2025-01-16T22:54:45.089407+00:00'} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/name', 'value': 'cluster_example_B', 'op': 'replace'}] +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"id": 42, "hard_limit": 0, "project_id": "fake_project", "resource": "Cluster", "created_at": "2026-02-19T05:12:47.563191+00:00", "updated_at": null} -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} -GOT:Response: 201 Created +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "cannot change cluster property(ies) name", "detail": "cannot change cluster property(ies) name.", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/cluster_template_id', 'value': '17cbcb9d-02d7-40a0-b786-df7b04af3dca', 'op': 'replace'}] +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2026-02-19T05:12:47.576536+00:00", "updated_at": null} -DELETE: /v1/quotas/fake_project/Cluster -GOT:Response: 204 No Content -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version - -GET: /v1/quotas/fake_project/Cluster {} -GOT:Response: 200 OK +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "cannot change cluster property(ies) cluster_template_id", "detail": "cannot change cluster property(ies) cluster_template_id.", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/health_status', 'value': 'HEALTHY', 'op': 'replace'}, {'path': '/health_status_reason', 'value': '{"api": "ok"}', 'op': 'replace'}] +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"hard_limit": 20, "project_id": "fake_project", "resource": "Cluster"} -GET: /v1/quotas {} -GOT:{'quotas': []} -GET: /v1/quotas?all_tenants=True {} -GOT:{'quotas': [{'id': 1, 'hard_limit': 10, 'project_id': 'proj-id-0', 'resource': 'Cluster', 'created_at': '2026-02-19T05:12:47.609254+00:00', 'updated_at': None}, {'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2026-02-19T05:12:47.610081+00:00', 'updated_at': None}, {'id': 3, 'hard_limit': 10, 'project_id': 'proj-id-2', 'resource': 'Cluster', 'created_at': '2026-02-19T05:12:47.610760+00:00', 'updated_at': None}, {'id': 4, 'hard_limit': 10, 'project_id': 'proj-id-3', 'resource': 'Cluster', 'created_at': '2026-02-19T05:12:47.611430+00:00', 'updated_at': None}]} -GET: /v1/quotas?all_tenants=False {} -GOT:{'quotas': [{'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2026-02-19T05:12:47.625844+00:00', 'updated_at': None}]} -GET: /v1/quotas?limit=3&marker=3&all_tenants=True {} -GOT:{'quotas': [{'id': 4, 'hard_limit': 10, 'project_id': 'proj-id-3', 'resource': 'Cluster', 'created_at': '2026-02-19T05:12:47.643063+00:00', 'updated_at': None}]} -GET: /v1/quotas {} -GOT:{'quotas': [{'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2026-02-19T05:12:47.659069+00:00', 'updated_at': None}]}magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_not_all_tenants -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_not_all_tenants ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_non_admin -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_non_admin ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_with_non_admin_context -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_with_non_admin_context ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_with_pagination_limit -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_with_pagination_limit ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_no_config_default -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_no_config_default ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_not_authorized -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_not_authorized ... ok +{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 6, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'UPDATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'HEALTHY', 'health_status_reason': {'api': 'ok'}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4', '172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-16T22:54:45.273127+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'}magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_health_status_ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_health_status_ok ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_invalid_node_count +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_invalid_node_count ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_non_existent_cluster +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_non_existent_cluster ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_non_existent_cluster_template_id +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_non_existent_cluster_template_id ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_cluster_as_admin +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_cluster_as_admin ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_cluster_not_found +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_cluster_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_ct_not_found +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_ct_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_default_master +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_default_master ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_default_worker +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_default_worker ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_ng_not_found +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_ng_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok_by_name +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok_by_name ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_non_default_ng +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_non_default_ng ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok_by_name_multiple_cluster +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok_by_name_multiple_cluster ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok_by_name_not_found +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok_by_name_not_found ... ok GOT:Response: 202 Accepted Content-Type: application/json @@ -12104,7 +11391,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "3e07c181-87e6-4464-8dcc-a63f400dec39"} +{"uuid": "1580c905-d028-402a-bf6a-8baf9224d846"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -12112,7 +11399,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "08d14be6-4d09-4a4c-9af5-31af5de877f6"} +{"uuid": "2f669e3f-526b-4218-a5d6-820e5e417601"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -12120,7 +11407,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "c13c8ff6-664b-4067-beb1-31ee402d241c"} +{"uuid": "7c3af641-d45e-474c-aba2-9a2c2e2fde77"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -12128,7 +11415,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "65dab3d8-41f2-4b9a-b3f1-3fe3e348bca8"} +{"uuid": "22a96d0b-7411-4154-afac-51fda8b9e359"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': {'label2': 'value3', 'label4': 'value4'}, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -12136,7 +11423,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "dc25cac5-9770-42a1-bbfa-36655b1c7af7"} +{"uuid": "52df051a-56c4-404a-bd81-7fa215803f67"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -12144,223 +11431,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "c0860c92-6778-4e3a-877d-16bb8e3566ea"} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 6} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.7 -Vary: OpenStack-API-Version -{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 6, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-19T05:12:47.588420+00:00', 'updated_at': None} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 6, 'nodegroup': '6ba4a85e-6db5-45e7-abf3-6dccbd027ed9'} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing a master nodegroup is not supported", "detail": "Resizing a master nodegroup is not supported.", "links": []}]} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 6, 'nodegroup': '4c61b745-b4ab-4b17-aaa9-0fc80e766e8d'} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing test-worker outside the allowed range: min_node_count = 1, max_node_count = 5", "detail": "Resizing test-worker outside the allowed range: min_node_count = 1, max_node_count = 5", "links": []}]} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 3, 'nodegroup': 'bf7b5281-c2a3-4c88-982a-93273809821b'} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing test-worker outside the allowed range: min_node_count = 4, max_node_count = None", "detail": "Resizing test-worker outside the allowed range: min_node_count = 4, max_node_count = None", "links": []}]} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 6, 'nodegroup': 'd8dcd6fd-c409-4fc1-bb5d-4932e1da4bc6'} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 -Vary: OpenStack-API-Version -{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"}magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_nodegroup -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_nodegroup ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_zero_node_count -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_zero_node_count ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_zero_node_count_fail -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_zero_node_count_fail ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_with_config_default -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_with_config_default ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_one -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_one ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_patch_quota -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_patch_quota ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_patch_quota_not_found -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_patch_quota_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_cluster_as_admin -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_cluster_as_admin ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuotaObject.test_quota_init -magnum.tests.unit.api.controllers.v1.test_quota.TestQuotaObject.test_quota_init ... ok -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_cluster_not_found -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_cluster_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_all_stats -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_all_stats ... ok -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_ct_not_found -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_ct_not_found ... ok -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_invalid_tenant_stats -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_invalid_tenant_stats ... ok -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_default_master -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_default_master ... ok -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -Exception ignored in: . at 0xefd4cf28> -Traceback (most recent call last): - File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 729, in - _finalize_fairy( - File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 1035, in _finalize_fairy - connection_record.checkin() - File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 770, in checkin - pool.dispatch.checkin(connection, self) - File "/usr/lib/python3/dist-packages/sqlalchemy/event/attr.py", line 497, in __call__ - fn(*args, **kw) - File "/usr/lib/python3/dist-packages/oslo_db/sqlalchemy/engines.py", line 52, in _thread_yield - time.sleep(0) - File "/usr/lib/python3/dist-packages/eventlet/greenthread.py", line 35, in sleep - raise RuntimeError('do not call blocking functions from the mainloop') -RuntimeError: do not call blocking functions from the mainloop -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_tenant_stats -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_tenant_stats ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_default_worker -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_default_worker ... ok -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_empty -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_empty ... ok -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_invalid_type_stats -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_invalid_type_stats ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_ng_not_found -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_ng_not_found ... ok -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_self_stats -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_self_stats ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_non_default_ng -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_non_default_ng ... ok -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_self_stats_without_param -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_self_stats_without_param ... ok -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_non_default_ng_invalid_ct -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_non_default_ng_invalid_ct ... ok -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplateObject.test_cluster_template_init -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplateObject.test_cluster_template_init ... ok -Exception ignored in: . at 0xeff65708> -Traceback (most recent call last): - File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 729, in - _finalize_fairy( - File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 1035, in _finalize_fairy - connection_record.checkin() - File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 770, in checkin - pool.dispatch.checkin(connection, self) - File "/usr/lib/python3/dist-packages/sqlalchemy/event/attr.py", line 497, in __call__ - fn(*args, **kw) - File "/usr/lib/python3/dist-packages/oslo_db/sqlalchemy/engines.py", line 52, in _thread_yield - time.sleep(0) - File "/usr/lib/python3/dist-packages/eventlet/greenthread.py", line 35, in sleep - raise RuntimeError('do not call blocking functions from the mainloop') -RuntimeError: do not call blocking functions from the mainloop -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_some_other_user_stats -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_some_other_user_stats ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_frombasetype_no_value -magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_frombasetype_no_value ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_invalid_value -magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_invalid_value ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_valid_false_values -magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_valid_false_values ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_as_admin -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_as_admin ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_valid_true_values -magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_valid_true_values ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_invalid_single_dns -magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_invalid_single_dns ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_valid_multi_dns -magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_valid_multi_dns ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_valid_single_dns -magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_valid_single_dns ... ok -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch ... ok -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_add_attr_already_exist -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_add_attr_already_exist ... ok - -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 6, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-19T05:12:47.692618+00:00', 'updated_at': None} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 0, 'nodegroup': '4679f02d-91f5-4bf2-a323-44de10a70281'} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.10 -Vary: OpenStack-API-Version -{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 0, 'nodegroup': '44623bf1-a18a-4d91-9b18-a24e9aef7c8a'} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing a nodegroup to zero is not supported in the provided microversion", "detail": "Resizing a nodegroup to zero is not supported in the provided microversion.", "links": []}]} +{"uuid": "7b20e75f-9ff5-4825-9232-392df74e97df"} POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'test_2'} GOT:Response: 202 Accepted Content-Type: application/json @@ -12369,14 +11440,14 @@ Openstack-Api-Version: container-infra 1.8 Vary: OpenStack-API-Version {"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -POST: /v1/clusters/dcaea55d-245e-4d2e-8efe-f3faeae1c023/actions/upgrade {'cluster_template': 'test_2'} +POST: /v1/clusters/99063209-cb14-4cf3-9b25-b89b31722ceb/actions/upgrade {'cluster_template': 'test_2'} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.8 Vary: OpenStack-API-Version -{"uuid": "dcaea55d-245e-4d2e-8efe-f3faeae1c023"} +{"uuid": "99063209-cb14-4cf3-9b25-b89b31722ceb"} POST: /v1/clusters/not_there/actions/upgrade {'cluster_template': 'test_2'} GOT:Response: 404 Not Found Content-Type: application/json @@ -12393,7 +11464,7 @@ Openstack-Api-Version: container-infra 1.8 Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 404, "title": "ClusterTemplate not_there could not be found", "detail": "ClusterTemplate not_there could not be found.", "links": []}]} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'test_2', 'nodegroup': '686d1e84-512e-40f4-8a1c-eb413d1178c1'} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'test_2', 'nodegroup': '49bd2c6f-4870-4d07-b732-7691d2ecdbf1'} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 @@ -12401,7 +11472,7 @@ Openstack-Api-Version: container-infra 1.9 Vary: OpenStack-API-Version {"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'test_2', 'nodegroup': '99911d7e-5034-453f-92ba-62637ac5ee9e'} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'test_2', 'nodegroup': 'f19426ef-4794-41f2-beb3-82c54aded05b'} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 @@ -12432,7 +11503,37 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.9 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Cluster Template is not valid for upgrade: Nodegroup test_ng can be upgraded only to match cluster's template (test_1)", "detail": "Cluster Template is not valid for upgrade: Nodegroup test_ng can be upgraded only to match cluster's template (test_1).", "links": []}]} +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Cluster Template is not valid for upgrade: Nodegroup test_ng can be upgraded only to match cluster's template (test_1)", "detail": "Cluster Template is not valid for upgrade: Nodegroup test_ng can be upgraded only to match cluster's template (test_1).", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_non_default_ng_invalid_ct +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_non_default_ng_invalid_ct ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok_by_uuid_not_found +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok_by_uuid_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplateObject.test_cluster_template_init +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplateObject.test_cluster_template_init ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_as_admin +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_as_admin ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_not_found +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_cluster +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_cluster ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_name +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_name ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_name_not_found +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_name_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_as_admin +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_as_admin ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_multiple_cluster_template_by_name +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_multiple_cluster_template_by_name ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_add_root_non_existent +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_add_root_non_existent ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_rollback_disabled +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_rollback_disabled ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_create_cluster_template_with_no_os_distro_image +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_create_cluster_template_with_no_os_distro_image ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_rollback_enabled +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_rollback_enabled ... ok + DELETE: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT:Response: 204 No Content Openstack-Api-Maximum-Version: container-infra 1.11 @@ -12448,79 +11549,21 @@ Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 404, "title": "ClusterTemplate e74c40e0-d825-11e2-a28f-0800200c9a66 could not be found", "detail": "ClusterTemplate e74c40e0-d825-11e2-a28f-0800200c9a66 could not be found.", "links": []}]} -DELETE: /v1/clustertemplates/45a716ba-15c1-4c3c-9764-2dbd10e8f2ed +DELETE: /v1/clustertemplates/9c521186-47c3-4e04-9a0f-f4b1d4043e2a GOT:Response: 204 No Content Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -DELETE: /v1/clustertemplates/113eaa23-e63e-4fc5-b1cf-883ce4fbf1d3 +DELETE: /v1/clustertemplates/07916c74-6ee0-4aff-9a7b-b3084bd84ce1 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "ClusterTemplate 113eaa23-e63e-4fc5-b1cf-883ce4fbf1d3 could not be found", "detail": "ClusterTemplate 113eaa23-e63e-4fc5-b1cf-883ce4fbf1d3 could not be found.", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_not_found -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_cluster -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_cluster ... ok -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_add_attr_not_exist -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_add_attr_not_exist ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_name -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_name ... ok -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_by_name -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_by_name ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_name_not_found -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_name_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_by_uuid -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_by_uuid ... ok -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_multi_exist -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_multi_exist ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_multiple_cluster_template_by_name -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_multiple_cluster_template_by_name ... ok -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_non_exist -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_non_exist ... ok -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_resource_with_name -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_resource_with_name ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_add_root_non_existent -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_add_root_non_existent ... ok -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_resource_with_uuid -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_resource_with_uuid ... ok -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_limit -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_limit ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_create_cluster_template_with_no_os_distro_image -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_create_cluster_template_with_no_os_distro_image ... ok -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_sort_dir -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_sort_dir ... ok -magnum.tests.unit.api.test_hooks.TestContextHook.test_context_hook_before_method -magnum.tests.unit.api.test_hooks.TestContextHook.test_context_hook_before_method ... ok -magnum.tests.unit.api.test_hooks.TestContextHook.test_context_hook_before_method_auth_info -magnum.tests.unit.api.test_hooks.TestContextHook.test_context_hook_before_method_auth_info ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_all_three -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_all_three ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_created -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_created ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_latest_update -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_latest_update ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_mandatory_property_fail -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_mandatory_property_fail ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_updated -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_updated ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_check_type -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_check_type ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_all_three -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_all_three ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_create -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_create ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_old_update -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_old_update ... ok - +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "ClusterTemplate 07916c74-6ee0-4aff-9a7b-b3084bd84ce1 could not be found", "detail": "ClusterTemplate 07916c74-6ee0-4aff-9a7b-b3084bd84ce1 could not be found.", "links": []}]} DELETE: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT:Response: 400 Bad Request Content-Type: application/json @@ -12623,7 +11666,131 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/registry_enabled' is a mandatory attribute and can not be removed", "detail": "'/registry_enabled' is a mandatory attribute and can not be removed", "links": []}]} +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/registry_enabled' is a mandatory attribute and can not be removed", "detail": "'/registry_enabled' is a mandatory attribute and can not be removed", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_mandatory_property_fail +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_mandatory_property_fail ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_non_existent_property_fail +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_non_existent_property_fail ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_singular +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_singular ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_uuid +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_uuid ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_external_network_id +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_external_network_id ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_flavor_id +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_flavor_id ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_image_id +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_image_id ... ok + +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/node_count', 'value': -1, 'op': 'replace'}] +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute node_count", "detail": "Invalid input for field/attribute node_count. Value: '-1'. Value should be greater or equal to 0", "links": []}]} +PATCH: /v1/clusters/43d7969f-a162-4776-9b91-3bc4fc5815e2 [{'path': '/name', 'value': 'cluster_example_B', 'op': 'replace'}] +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 43d7969f-a162-4776-9b91-3bc4fc5815e2 could not be found", "detail": "Cluster 43d7969f-a162-4776-9b91-3bc4fc5815e2 could not be found.", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/cluster_template_id', 'value': '4a80e3f2-10bc-4dd9-af76-ecdf24b02a79', 'op': 'replace'}] +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "cannot change cluster property(ies) cluster_template_id", "detail": "cannot change cluster property(ies) cluster_template_id.", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/node_count', 'value': 4, 'op': 'replace'}] +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 4, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'UPDATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'UNKNOWN', 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-16T22:54:45.566472+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} +PATCH: /v1/clusters/cluster_example_A [{'path': '/node_count', 'value': 4, 'op': 'replace'}] +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 4, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'UPDATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'UNKNOWN', 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-16T22:54:45.817764+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} +PATCH: /v1/clusters/test_cluster [{'path': '/name', 'value': 'test_cluster', 'op': 'replace'}] +GOT:Response: 409 Conflict +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Multiple clusters exist with same name", "detail": "Multiple clusters exist with same name. Please use the cluster uuid instead.", "links": []}]} +PATCH: /v1/clusters/not_found [{'path': '/name', 'value': 'not_found', 'op': 'replace'}] +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not_found could not be found", "detail": "Cluster not_found could not be found.", "links": []}]} +PATCH: /v1/clusters/3bc86738-e7b1-4f5b-8551-617af1224966 [{'path': '/cluster_id', 'value': '3bc86738-e7b1-4f5b-8551-617af1224966', 'op': 'replace'}] +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 3bc86738-e7b1-4f5b-8551-617af1224966 could not be found", "detail": "Cluster 3bc86738-e7b1-4f5b-8551-617af1224966 could not be found.", "links": []}]} +PATCH: /v1/clusters/d2e9d01f-ed73-49b9-838a-f3aadf7bb831 [{'path': '/node_count', 'value': 4, 'op': 'replace'}] +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"uuid": "d2e9d01f-ed73-49b9-838a-f3aadf7bb831"} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/?rollback=False [{'path': '/node_count', 'value': 4, 'op': 'replace'}] +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.3 +Vary: OpenStack-API-Version +{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/?rollback=True [{'path': '/node_count', 'value': 4, 'op': 'replace'}] +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.3 +Vary: OpenStack-API-Version +{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/node_count', 'value': 0, 'op': 'replace'}] +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.10 +Vary: OpenStack-API-Version +{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"}magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_zero_node_count +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_zero_node_count ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_zero_node_count_fail +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_zero_node_count_fail ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_master_nodegroup +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_master_nodegroup ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_node_count_greater_than_max +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_node_count_greater_than_max ... ok + PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/cluster_distro', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json @@ -12647,85 +11814,9 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Couldn't apply patch '[{'path': '/non-existent', 'op': 'remove'}]'", "detail": "Couldn't apply patch '[{'path': '/non-existent', 'op': 'remove'}]'. Reason: can't remove a non-existent object 'non-existent'", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_non_existent_property_fail -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_non_existent_property_fail ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_singular -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_singular ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_update -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_update ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_forced_down -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_forced_down ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_cluster_type_not_supported -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_cluster_type_not_supported ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_uuid -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_uuid ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_cluster_type_supported -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_cluster_type_supported ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_all_allowed_create -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_all_allowed_create ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_all_allowed_update -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_all_allowed_update ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_default_config_create -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_default_config_create ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_default_create -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_default_create ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_default_invalid_create -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_default_invalid_create ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_invalid_coe_create -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_invalid_coe_create ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_not_allowed_create -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_not_allowed_create ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_not_allowed_update -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_not_allowed_update ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_one_allowed_create -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_one_allowed_create ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_one_allowed_update -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_one_allowed_update ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_two_allowed_create -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_two_allowed_create ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_two_allowed_update -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_two_allowed_update ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_server_type_invalid -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_server_type_invalid ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_server_type_valid_bm -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_server_type_valid_bm ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_external_network_id -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_external_network_id ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_server_type_valid_vm -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_server_type_valid_vm ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_invalid_create -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_invalid_create ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_not_supported_add_update -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_not_supported_add_update ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_not_supported_replace_update -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_not_supported_replace_update ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_remove_update -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_remove_update ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_supported_add_update -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_supported_add_update ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_supported_replace_update -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_supported_replace_update ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_valid_create -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_valid_create ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_validate_cluster_properties -magnum.tests.unit.api.test_validation.TestValidation.test_validate_cluster_properties ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_flavor_id -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_flavor_id ... ok -magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_revision -magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_revision ... ok -magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_stamp -magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_stamp ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_image_id -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_image_id ... ok -magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_upgrade -magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_upgrade ... ok -magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_version -magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_version ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_keypair_id -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_keypair_id ... ok - +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Couldn't apply patch '[{'path': '/non-existent', 'op': 'remove'}]'", "detail": "Couldn't apply patch '[{'path': '/non-existent', 'op': 'remove'}]'. Reason: can't remove a non-existent object 'non-existent'", "links": []}]} GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2026-02-19T05:12:48.232739+00:00', 'updated_at': None} +GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2025-01-16T22:54:46.439426+00:00', 'updated_at': None} PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/dns_nameserver', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json @@ -12733,9 +11824,9 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": null, "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2026-02-19T05:12:48.232739+00:00", "updated_at": null} +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": null, "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2025-01-16T22:54:46.439426+00:00", "updated_at": null} GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': None, 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2026-02-19T05:12:48.232739+00:00', 'updated_at': '2026-02-19T05:12:48.251356+00:00'} +GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': None, 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2025-01-16T22:54:46.439426+00:00', 'updated_at': '2025-01-16T22:54:46.475269+00:00'} PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json @@ -12775,113 +11866,177 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "aaa", "detail": "aaa", "links": []}]} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/name', 'value': 'cluster_model_example_B', 'op': 'replace'}] -GOT:Response: 200 OK -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_B", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2026-02-19T05:12:48.359982+00:00", "updated_at": null} -GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {}magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_singular +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "aaa", "detail": "aaa", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_keypair_id +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_keypair_id ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_singular magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_singular ... ok magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_as_admin magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_as_admin ... ok -magnum.tests.unit.cmd.test_driver_manage.TestMagnumDriverManage.test_correct_arg_with_details_and_path -magnum.tests.unit.cmd.test_driver_manage.TestMagnumDriverManage.test_correct_arg_with_details_and_path ... ok -magnum.tests.unit.cmd.test_driver_manage.TestMagnumDriverManage.test_correct_arg_without_details_and_path -magnum.tests.unit.cmd.test_driver_manage.TestMagnumDriverManage.test_correct_arg_without_details_and_path ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_node_count_less_than_min +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_node_count_less_than_min ... ok magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_hidden_with_cluster_allow_update magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_hidden_with_cluster_allow_update ... ok -magnum.tests.unit.cmd.test_driver_manage.TestMagnumDriverManage.test_none_arg -magnum.tests.unit.cmd.test_driver_manage.TestMagnumDriverManage.test_none_arg ... ok -magnum.tests.unit.common.cert_manager.test_cert_manager.TestCert.test_get_decrypted_private_key -magnum.tests.unit.common.cert_manager.test_cert_manager.TestCert.test_get_decrypted_private_key ... ok -magnum.tests.unit.common.cert_manager.test_cert_manager.TestCertManager.test_barbican_cert_manager -magnum.tests.unit.common.cert_manager.test_cert_manager.TestCertManager.test_barbican_cert_manager ... ok -magnum.tests.unit.common.cert_manager.test_cert_manager.TestCertManager.test_local_cert_manager -magnum.tests.unit.common.cert_manager.test_cert_manager.TestCertManager.test_local_cert_manager ... ok -magnum.tests.unit.common.cert_manager.test_local.TestLocalCert.test_local_cert -magnum.tests.unit.common.cert_manager.test_local.TestLocalCert.test_local_cert ... ok -magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairCert.test_x509keypair_cert -magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairCert.test_x509keypair_cert ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_name_with_cluster -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_name_with_cluster ... ok -magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_create_no_permission -magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_create_no_permission ... ok -magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_delete_no_permission -magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_delete_no_permission ... ok -magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_get_all_no_permission -magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_get_all_no_permission ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_nodegroup +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_nodegroup ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_zero_node_count +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_zero_node_count ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_zero_node_count_fail +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_zero_node_count_fail ... ok -GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_B', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2026-02-19T05:12:48.359982+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} -PATCH: /v1/clustertemplates/6d617ff2-40a5-412e-a5c7-a76e4421d87b [{'path': '/name', 'value': 'cluster_model_example_B', 'op': 'replace'}] -GOT:Response: 200 OK +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/node_count', 'value': 0, 'op': 'replace'}] +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.9 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing a nodegroup to zero is not supported in the provided microversion", "detail": "Resizing a nodegroup to zero is not supported in the provided microversion.", "links": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 6} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.7 +Vary: OpenStack-API-Version +{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 6, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-16T22:54:46.657219+00:00', 'updated_at': None} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 6, 'nodegroup': 'ae96bb39-b339-455a-888a-a26959fc01dc'} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.9 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing a master nodegroup is not supported", "detail": "Resizing a master nodegroup is not supported.", "links": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 6, 'nodegroup': 'bc95cb9f-26bf-49b3-925f-16a17ac6b5fd'} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.9 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing test-worker outside the allowed range: min_node_count = 1, max_node_count = 5", "detail": "Resizing test-worker outside the allowed range: min_node_count = 1, max_node_count = 5", "links": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 3, 'nodegroup': '02457b00-77e8-43a6-8ad5-483fb34b85a0'} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.9 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing test-worker outside the allowed range: min_node_count = 4, max_node_count = None", "detail": "Resizing test-worker outside the allowed range: min_node_count = 4, max_node_count = None", "links": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 6, 'nodegroup': '647f006b-0fc8-49b9-89e5-4d751c7d4e33'} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.9 +Vary: OpenStack-API-Version +{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 6, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-16T22:54:46.891252+00:00', 'updated_at': None} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 0, 'nodegroup': '01464e4a-fd1a-4339-a366-3a4c328f15ab'} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.10 +Vary: OpenStack-API-Version +{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 0, 'nodegroup': '7cf4c130-46af-4c58-9447-5d6673cb4f32'} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.9 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing a nodegroup to zero is not supported in the provided microversion", "detail": "Resizing a nodegroup to zero is not supported in the provided microversion.", "links": []}]} +POST: /v1/clustertemplates {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'image_id': 'ubuntu', 'flavor_id': 'm1.small', 'master_flavor_id': 'm1.small', 'keypair_id': 'keypair1', 'external_network_id': 'd1f02cfb-d27f-4068-9332-84d907cb0e2e', 'fixed_network': 'private', 'fixed_subnet': 'private-subnet', 'network_driver': None, 'volume_driver': None, 'dns_nameserver': '8.8.1.1', 'apiserver_port': 8080, 'docker_volume_size': 20, 'docker_storage_driver': 'devicemapper', 'cluster_distro': 'fedora-coreos', 'coe': 'kubernetes', 'labels': {'key1': 'val1', 'key2': 'val2'}, 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'registry_enabled': False, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'hidden': False, 'tags': '', 'driver': ''} +GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "6d617ff2-40a5-412e-a5c7-a76e4421d87b", "name": "cluster_model_example_B", "coe": "kubernetes", "image_id": "ubuntu", "flavor_id": "m1.small", "master_flavor_id": "m1.small", "dns_nameserver": "8.8.1.1", "keypair_id": "keypair1", "external_network_id": "d1f02cfb-d27f-4068-9332-84d907cb0e2e", "fixed_network": "private", "fixed_subnet": "private-subnet", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/6d617ff2-40a5-412e-a5c7-a76e4421d87b", "rel": "self"}, {"href": "http://localhost/clustertemplates/6d617ff2-40a5-412e-a5c7-a76e4421d87b", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": null, "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "6d617ff2-40a5-412e-a5c7-a76e4421d87b", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2026-02-19T05:12:48.390812+00:00", "updated_at": null} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/hidden', 'value': True, 'op': 'replace'}] +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:create to be performed", "detail": "Policy doesn't allow clustertemplate:create to be performed.", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_create +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_create ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_delete +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_delete ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_detail +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_detail ... ok + +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/name', 'value': 'cluster_model_example_B', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": true, "tags": "", "driver": "", "created_at": "2026-02-19T05:12:48.412294+00:00", "updated_at": null} +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_B", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2025-01-16T22:54:46.706729+00:00", "updated_at": null} GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': True, 'tags': '', 'driver': '', 'created_at': '2026-02-19T05:12:48.412294+00:00', 'updated_at': '2026-02-19T05:12:48.430895+00:00'} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/name', 'value': 'cluster_model_example_B', 'op': 'replace'}] +GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_B', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2025-01-16T22:54:46.706729+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} +PATCH: /v1/clustertemplates/2481ef30-2e14-46f2-a7aa-04176f7b30d0 [{'path': '/name', 'value': 'cluster_model_example_B', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_B", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2026-02-19T05:12:48.446407+00:00", "updated_at": null} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/labels', 'value': "{'etcd_volume_size': '1'}", 'op': 'replace'}] +{"uuid": "2481ef30-2e14-46f2-a7aa-04176f7b30d0", "name": "cluster_model_example_B", "coe": "kubernetes", "image_id": "ubuntu", "flavor_id": "m1.small", "master_flavor_id": "m1.small", "dns_nameserver": "8.8.1.1", "keypair_id": "keypair1", "external_network_id": "d1f02cfb-d27f-4068-9332-84d907cb0e2e", "fixed_network": "private", "fixed_subnet": "private-subnet", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/2481ef30-2e14-46f2-a7aa-04176f7b30d0", "rel": "self"}, {"href": "http://localhost/clustertemplates/2481ef30-2e14-46f2-a7aa-04176f7b30d0", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": null, "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "2481ef30-2e14-46f2-a7aa-04176f7b30d0", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2025-01-16T22:54:46.773465+00:00", "updated_at": null} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/hidden', 'value': True, 'op': 'replace'}] +GOT:Response: 200 OK +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": true, "tags": "", "driver": "", "created_at": "2025-01-16T22:54:46.822219+00:00", "updated_at": null} +GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} +GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': True, 'tags': '', 'driver': '', 'created_at': '2025-01-16T22:54:46.822219+00:00', 'updated_at': '2025-01-16T22:54:46.857133+00:00'} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/name', 'value': 'cluster_model_example_B', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"etcd_volume_size": "1"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2026-02-19T05:12:48.475664+00:00", "updated_at": null}magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_replace_labels_success +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_B", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2025-01-16T22:54:46.890118+00:00", "updated_at": null}magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_name_with_cluster +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_name_with_cluster ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_replace_labels_success magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_replace_labels_success ... ok magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_with_cluster magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_with_cluster ... ok -magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_get_no_permission -magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_get_no_permission ... ok -magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_update_no_permission -magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_update_no_permission ... ok magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_with_cluster_allow_update magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_with_cluster_allow_update ... ok -magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_create_no_permission -magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_create_no_permission ... ok -magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_delete_no_permission -magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_delete_no_permission ... ok magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_with_devicemapper magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_with_devicemapper ... ok -magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_detail_list_no_permission -magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_detail_list_no_permission ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_get_all +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_get_all ... ok magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_hidden_cluster_template_fail magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_hidden_cluster_template_fail ... ok -magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_get_no_permission -magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_get_no_permission ... ok -magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_get_reader -magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_get_reader ... ok -magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_update_no_permission -magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_update_no_permission ... ok -magnum.tests.unit.common.policies.test_magnum_service_policy.TestMagnumServicePolicy.test_get_all_no_permission -magnum.tests.unit.common.policies.test_magnum_service_policy.TestMagnumServicePolicy.test_get_all_no_permission ... ok -magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_create_no_permission -magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_create_no_permission ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_get_one +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_get_one ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_update +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_update ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_only_owner_delete +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_only_owner_delete ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_only_owner_get_one +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_only_owner_get_one ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_only_owner_update +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_only_owner_update ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation +magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation ... ok +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/labels', 'value': "{'etcd_volume_size': '1'}", 'op': 'replace'}] +GOT:Response: 200 OK +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"etcd_volume_size": "1"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2025-01-16T22:54:46.948839+00:00", "updated_at": null} GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'etcd_volume_size': '1'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2026-02-19T05:12:48.475664+00:00', 'updated_at': '2026-02-19T05:12:48.490270+00:00'} +GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'etcd_volume_size': '1'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2025-01-16T22:54:46.948839+00:00', 'updated_at': '2025-01-16T22:54:46.978158+00:00'} PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/network_driver', 'value': 'flannel', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json @@ -12897,9 +12052,9 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": true, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2026-02-19T05:12:48.534952+00:00", "updated_at": null} +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": true, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2025-01-16T22:54:47.068912+00:00", "updated_at": null} GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': True, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2026-02-19T05:12:48.534952+00:00', 'updated_at': '2026-02-19T05:12:48.556205+00:00'} +GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': True, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2025-01-16T22:54:47.068912+00:00', 'updated_at': '2025-01-16T22:54:47.108624+00:00'} PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/docker_storage_driver', 'value': 'devicemapper', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json @@ -12907,122 +12062,69 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2026-02-19T05:12:48.570849+00:00", "updated_at": null} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/hidden', 'value': True, 'op': 'replace'}] +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2025-01-16T22:54:47.139976+00:00", "updated_at": null} PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/hidden', 'value': True, 'op': 'replace'}] -GOT:Response: 200 OK -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": true, "tags": "", "driver": "", "created_at": "2026-02-19T05:12:48.615276+00:00", "updated_at": null} -GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': True, 'tags': '', 'driver': '', 'created_at': '2026-02-19T05:12:48.615276+00:00', 'updated_at': '2026-02-19T05:12:48.627020+00:00'}magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_hidden_cluster_template_success +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/hidden', 'value': True, 'op': 'replace'}]magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_hidden_cluster_template_success magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_hidden_cluster_template_success ... ok magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_not_found magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_not_found ... ok magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_public_cluster_template_fail magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_public_cluster_template_fail ... ok -magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_delete_no_permission -magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_delete_no_permission ... ok magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_public_cluster_template_success magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_public_cluster_template_success ... ok -magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_get_all_no_permission -magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_get_all_no_permission ... ok -magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_get_no_permission -magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_get_no_permission ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation -magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation ... ok -magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_update_no_permission -magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_update_no_permission ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_cached -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_cached ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation ... ok magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation_not_found magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation_not_found ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_noauth -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_noauth ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_region -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_region ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_cached -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_cached ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_noauth -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_noauth ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_region -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_region ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat ... ok +Exception ignored in: . at 0xf00af1b8> +Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 729, in + _finalize_fairy( + File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 1035, in _finalize_fairy + connection_record.checkin() + File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 770, in checkin + pool.dispatch.checkin(connection, self) + File "/usr/lib/python3/dist-packages/sqlalchemy/event/attr.py", line 497, in __call__ + fn(*args, **kw) + File "/usr/lib/python3/dist-packages/oslo_db/sqlalchemy/engines.py", line 52, in _thread_yield + time.sleep(0) + File "/usr/lib/python3/dist-packages/eventlet/greenthread.py", line 35, in sleep + raise RuntimeError('do not call blocking functions from the mainloop') +RuntimeError: do not call blocking functions from the mainloop +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_generate_uuid +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_generate_uuid ... ok magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation_with_name magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation_with_name ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_cached -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_cached ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_noauth -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_noauth ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_region -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_region ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_cached -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_cached ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_noauth -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_noauth ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_region -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_region ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova ... ok magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation_with_name_not_found magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation_with_name_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_join_cluster_already_member -magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_join_cluster_already_member ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_join_non_existent_cluster -magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_join_non_existent_cluster ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_cached -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_cached ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_noauth -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_noauth ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_region -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_region ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_magnum_url -magnum.tests.unit.common.test_clients.ClientsTest.test_magnum_url ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_url_for -magnum.tests.unit.common.test_clients.ClientsTest.test_url_for ... ok -magnum.tests.unit.common.test_context.ContextTestCase.test_context -magnum.tests.unit.common.test_context.ContextTestCase.test_context ... ok -magnum.tests.unit.common.test_context.ContextTestCase.test_context_with_roles -magnum.tests.unit.common.test_context.ContextTestCase.test_context_with_roles ... ok -magnum.tests.unit.common.test_context.ContextTestCase.test_request_context_sets_is_admin -magnum.tests.unit.common.test_context.ContextTestCase.test_request_context_sets_is_admin ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_member_join -magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_member_join ... ok -magnum.tests.unit.common.test_context.ContextTestCase.test_to_dict_from_dict -magnum.tests.unit.common.test_context.ContextTestCase.test_to_dict_from_dict ... ok -magnum.tests.unit.common.test_neutron.NeutronTest.test_delete_floatingip -magnum.tests.unit.common.test_neutron.NeutronTest.test_delete_floatingip ... ok -magnum.tests.unit.common.test_neutron.NeutronTest.test_delete_floatingip_empty -magnum.tests.unit.common.test_neutron.NeutronTest.test_delete_floatingip_empty ... ok -magnum.tests.unit.common.test_neutron.NeutronTest.test_delete_floatingip_exception -magnum.tests.unit.common.test_neutron.NeutronTest.test_delete_floatingip_exception ... ok -magnum.tests.unit.common.test_neutron.NeutronTest.test_get_external_network_id -magnum.tests.unit.common.test_neutron.NeutronTest.test_get_external_network_id ... ok -magnum.tests.unit.common.test_neutron.NeutronTest.test_get_external_network_id_conflict -magnum.tests.unit.common.test_neutron.NeutronTest.test_get_external_network_id_conflict ... ok -magnum.tests.unit.common.test_neutron.NeutronTest.test_get_external_network_id_notfound -magnum.tests.unit.common.test_neutron.NeutronTest.test_get_external_network_id_notfound ... ok -magnum.tests.unit.common.test_neutron.NeutronTest.test_get_fixed_network_name -magnum.tests.unit.common.test_neutron.NeutronTest.test_get_fixed_network_name ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestFederationObject.test_federation_init +magnum.tests.unit.api.controllers.v1.test_federation.TestFederationObject.test_federation_init ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail_against_single +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail_against_single ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail_with_pagination_marker +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail_with_pagination_marker ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_empty +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_empty ... ok -PATCH: /v1/clustertemplates/fd471a3b-08d6-45e0-8eb9-0dc2655fbe01 [{'path': '/name', 'value': 'cluster_model_example_B', 'op': 'add'}] +GOT:Response: 200 OK +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": true, "tags": "", "driver": "", "created_at": "2025-01-16T22:54:47.264721+00:00", "updated_at": null} +GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} +GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': True, 'tags': '', 'driver': '', 'created_at': '2025-01-16T22:54:47.264721+00:00', 'updated_at': '2025-01-16T22:54:47.287325+00:00'} +PATCH: /v1/clustertemplates/dee5ee44-3c4d-4037-8f8c-8e39e9db2d74 [{'path': '/name', 'value': 'cluster_model_example_B', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "ClusterTemplate fd471a3b-08d6-45e0-8eb9-0dc2655fbe01 could not be found", "detail": "ClusterTemplate fd471a3b-08d6-45e0-8eb9-0dc2655fbe01 could not be found.", "links": []}]} +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "ClusterTemplate dee5ee44-3c4d-4037-8f8c-8e39e9db2d74 could not be found", "detail": "ClusterTemplate dee5ee44-3c4d-4037-8f8c-8e39e9db2d74 could not be found.", "links": []}]} PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/public', 'value': True, 'op': 'replace'}] PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/public', 'value': True, 'op': 'replace'}] GOT:Response: 200 OK @@ -13031,184 +12133,356 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": true, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2026-02-19T05:12:48.675433+00:00", "updated_at": null} +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": true, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2025-01-16T22:54:47.391740+00:00", "updated_at": null} GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': True, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2026-02-19T05:12:48.675433+00:00', 'updated_at': '2026-02-19T05:12:48.687244+00:00'} -DELETE: /v1/federations/dbf52c2f-d944-4829-b15b-23fc51f8ba2b -GOT:Response: 204 No Content +GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': True, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2025-01-16T22:54:47.391740+00:00', 'updated_at': '2025-01-16T22:54:47.415593+00:00'} +POST: /v1/federations {'uuid': '871e621c-6966-457a-93a5-496a85e1e4d4', 'name': 'fake-name', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} +GOT:Response: 202 Accepted +Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version - -GET: /v1/federations/dbf52c2f-d944-4829-b15b-23fc51f8ba2b {} -GOT:Response: 404 Not Found +{"uuid": "4f826d3c-fea3-43ea-b970-c8ad04e4b4b4"} +POST: /v1/federations {'name': 'fake-name', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation dbf52c2f-d944-4829-b15b-23fc51f8ba2b could not be found", "detail": "Federation dbf52c2f-d944-4829-b15b-23fc51f8ba2b could not be found.", "links": []}]} -DELETE: /v1/federations/5fda4da7-8705-4824-9dae-727b4a8ebbc4 +{"uuid": "91368c78-c7b3-4fc1-9109-b66bd712cb13"} +POST: /v1/federations {'uuid': 'e84ff432-7f79-44c7-8ce2-266642b8cb46', 'name': 'fake-name', 'hostcluster_id': 'e53183e1-8739-446b-aebd-db3a01565e23', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation 5fda4da7-8705-4824-9dae-727b4a8ebbc4 could not be found", "detail": "Federation 5fda4da7-8705-4824-9dae-727b4a8ebbc4 could not be found.", "links": []}]} -DELETE: /v1/federations/federation-example -GOT:Response: 204 No Content +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster e53183e1-8739-446b-aebd-db3a01565e23 could not be found", "detail": "Cluster e53183e1-8739-446b-aebd-db3a01565e23 could not be found.", "links": []}]}magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_hostcluster_does_not_exist +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_hostcluster_does_not_exist ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_no_dns_zone_name +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_no_dns_zone_name ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_no_hostcluster_id +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_no_hostcluster_id ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_with_invalid_name +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_with_invalid_name ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_without_name +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_without_name ... ok + +POST: /v1/federations {'uuid': 'dc373c32-5155-4aeb-a6c7-abc7a889a69b', 'name': 'fake-name', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} +GOT:Response: 400 Bad Request +Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version - -DELETE: /v1/federations/foo -GOT:Response: 404 Not Found +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Please specify a `properties` dict for the federation", "detail": "Please specify a `properties` dict for the federation.", "links": []}]} +POST: /v1/federations {'uuid': '57ff2214-baf1-49a0-9789-2f045494880a', 'name': 'fake-name', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation foo could not be found", "detail": "Federation foo could not be found.", "links": []}]} -PATCH: /v1/federations/7645f28a-9263-4e82-8ba4-76c73760ee3c [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'add'}] -GOT:Response: 409 Conflict +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "No hostcluster specified", "detail": "No hostcluster specified. Please specify a hostcluster_id.", "links": []}]} +POST: /v1/federations {'uuid': 'de280790-97ca-48ce-83d6-607cf6ac52c3', 'name': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "A cluster with UUID 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 is already a member of the federation federation-example", "detail": "A cluster with UUID 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 is already a member of the federation federation-example.", "links": []}]} -PATCH: /v1/federations/740483a6-4679-4ec4-bb04-af52c0ecb03d [{'path': '/member_ids', 'value': '3bdf8425-69b1-4a28-90dd-a43ac3c1ee74', 'op': 'add'}] -GOT:Response: 404 Not Found +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'. Value should have a maximum character requirement of 242", "links": []}]} +POST: /v1/federations {'uuid': 'ad14d446-d15c-478e-b4b1-d1a261e27049', 'name': '123456', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 3bdf8425-69b1-4a28-90dd-a43ac3c1ee74 could not be found", "detail": "Cluster 3bdf8425-69b1-4a28-90dd-a43ac3c1ee74 could not be found.", "links": []}]} -PATCH: /v1/federations/e82a3973-af54-4985-85c7-c2abe00c3785 [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'add'}] -GOT:Response: 202 Accepted +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: '123456'. Value should match the pattern ^[a-zA-Z][a-zA-Z0-9_.-]*$", "links": []}]} +POST: /v1/federations {'uuid': '55757f85-ff6c-45d6-b2ac-e5f8875fb549', 'name': '123456test_federation', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: '123456test_federation'. Value should match the pattern ^[a-zA-Z][a-zA-Z0-9_.-]*$", "links": []}]} +POST: /v1/federations {'uuid': '74228945-dde3-4732-a710-19a3578cbe0f', 'name': '-test_federation', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: '-test_federation'. Value should match the pattern ^[a-zA-Z][a-zA-Z0-9_.-]*$", "links": []}]} +POST: /v1/federations {'uuid': 'f83d5f75-5bd1-4e19-bd48-1b365858ec66', 'name': '.test_federation', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: '.test_federation'. Value should match the pattern ^[a-zA-Z][a-zA-Z0-9_.-]*$", "links": []}]} +POST: /v1/federations {'uuid': 'c4656f9f-5732-4eb2-87d0-60faa15fac4c', 'name': '_test_federation', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: '_test_federation'. Value should match the pattern ^[a-zA-Z][a-zA-Z0-9_.-]*$", "links": []}]} +POST: /v1/federations {'uuid': 'c973b153-7712-4379-a6c5-d63d8f016979', 'name': '', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "e82a3973-af54-4985-85c7-c2abe00c3785"} -GET: /v1/federations/e82a3973-af54-4985-85c7-c2abe00c3785 {} -GOT:{'uuid': 'e82a3973-af54-4985-85c7-c2abe00c3785', 'name': 'federation-example', 'hostcluster_id': 'fake_master', 'member_ids': ['5d12f6fd-a196-4bf0-ae4c-1f639a523a52'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/e82a3973-af54-4985-85c7-c2abe00c3785', 'rel': 'self'}, {'href': 'http://localhost/federations/e82a3973-af54-4985-85c7-c2abe00c3785', 'rel': 'bookmark'}], 'created_at': '2026-02-19T05:12:48.813169+00:00', 'updated_at': '2026-02-19T05:12:48.827650+00:00'} -PATCH: /v1/federations/29283d20-8c37-486f-925e-0a2192dd04e4 [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'remove'}] +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: ''. Value should have a minimum character requirement of 1", "links": []}]} +POST: /v1/federations {'uuid': '85f2a974-eaaf-496e-b66e-efac31497920', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "29283d20-8c37-486f-925e-0a2192dd04e4"}magnum.tests.unit.common.test_neutron.NeutronTest.test_get_fixed_network_name_notfound -magnum.tests.unit.common.test_neutron.NeutronTest.test_get_fixed_network_name_notfound ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_member_unjoin -magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_member_unjoin ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_unjoin_non_existent_cluster -magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_unjoin_non_existent_cluster ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_unjoin_non_member_cluster -magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_unjoin_non_member_cluster ... ok -magnum.tests.unit.common.test_neutron.NeutronTest.test_get_fixed_subnet_id -magnum.tests.unit.common.test_neutron.NeutronTest.test_get_fixed_subnet_id ... ok -magnum.tests.unit.common.test_neutron.NeutronTest.test_get_fixed_subnet_id_conflict -magnum.tests.unit.common.test_neutron.NeutronTest.test_get_fixed_subnet_id_conflict ... ok -magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceController.test_empty +{"uuid": "1ae631bf-55f6-4edb-b404-95447dd77c5c"} +GET: /v1/mservices {}magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceController.test_empty magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceController.test_empty ... ok -magnum.tests.unit.common.test_neutron.NeutronTest.test_get_fixed_subnet_id_notfound -magnum.tests.unit.common.test_neutron.NeutronTest.test_get_fixed_subnet_id_notfound ... ok -magnum.tests.unit.common.test_policy.TestPolicy.test_check_is_admin_with_admin_context_succeeds -magnum.tests.unit.common.test_policy.TestPolicy.test_check_is_admin_with_admin_context_succeeds ... ok magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceController.test_get_many magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceController.test_get_many ... ok -magnum.tests.unit.common.test_policy.TestPolicy.test_check_is_admin_with_user_context_fails -magnum.tests.unit.common.test_policy.TestPolicy.test_check_is_admin_with_user_context_fails ... ok magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceController.test_get_one magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceController.test_get_one ... ok -magnum.tests.unit.common.test_profiler.TestProfiler.test_all_public_methods_are_traced -magnum.tests.unit.common.test_profiler.TestProfiler.test_all_public_methods_are_traced ... ok -magnum.tests.unit.common.test_profiler.TestProfiler.test_setup_profiler -magnum.tests.unit.common.test_profiler.TestProfiler.test_setup_profiler ... ok magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceEnforcement.test_policy_disallow_get_all magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceEnforcement.test_policy_disallow_get_all ... ok -magnum.tests.unit.common.test_profiler.TestProfiler.test_setup_profiler_without_osprofiler -magnum.tests.unit.common.test_profiler.TestProfiler.test_setup_profiler_without_osprofiler ... ok -magnum.tests.unit.common.test_rpc.TestProfilerRequestContextSerializer.test_deserialize_context -magnum.tests.unit.common.test_rpc.TestProfilerRequestContextSerializer.test_deserialize_context ... ok -magnum.tests.unit.common.test_rpc.TestProfilerRequestContextSerializer.test_serialize_context -magnum.tests.unit.common.test_rpc.TestProfilerRequestContextSerializer.test_serialize_context ... ok -magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_context -magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_context ... ok +magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceObject.test_msvc_obj_fields_filtering +magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceObject.test_msvc_obj_fields_filtering ... ok magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all ... ok -magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity -magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity ... ok -magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity_null_base -magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity_null_base ... ok -magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_context -magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_context ... ok -magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity -magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity ... ok -magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity_null_base -magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity_null_base ... ok -magnum.tests.unit.common.test_service.TestMagnumService.test_prepare_service_with_argv_none -magnum.tests.unit.common.test_service.TestMagnumService.test_prepare_service_with_argv_none ... ok -magnum.tests.unit.common.test_service.TestMagnumService.test_prepare_service_with_argv_not_none -magnum.tests.unit.common.test_service.TestMagnumService.test_prepare_service_with_argv_not_none ... ok -magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get -magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get ... ok + +DELETE: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 +GOT:Response: 403 Forbidden +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:delete to be performed", "detail": "Policy doesn't allow clustertemplate:delete to be performed.", "links": []}]} +GET: /v1/clustertemplates/fb7a2c0f-2304-450e-95fb-73d4d3d3a063/detail {} +GOT:Response: 403 Forbidden +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:detail to be performed", "detail": "Policy doesn't allow clustertemplate:detail to be performed.", "links": []}]} +GET: /v1/clustertemplates {} +GOT:Response: 403 Forbidden +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:get_all to be performed", "detail": "Policy doesn't allow clustertemplate:get_all to be performed.", "links": []}]} +GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} +GOT:Response: 403 Forbidden +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:get to be performed", "detail": "Policy doesn't allow clustertemplate:get to be performed.", "links": []}]} +PATCH: /v1/clustertemplates/example_A [{'path': '/name', 'value': 'new_name', 'op': 'replace'}] +GOT:Response: 403 Forbidden +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:update to be performed", "detail": "Policy doesn't allow clustertemplate:update to be performed.", "links": []}]} +DELETE: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 +GOT:Response: 403 Forbidden +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:delete to be performed", "detail": "Policy doesn't allow clustertemplate:delete to be performed.", "links": []}]} +GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} +GOT:Response: 403 Forbidden +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:get to be performed", "detail": "Policy doesn't allow clustertemplate:get to be performed.", "links": []}]} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/name', 'value': 'new_name', 'op': 'replace'}] +GOT:Response: 403 Forbidden +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:update to be performed", "detail": "Policy doesn't allow clustertemplate:update to be performed.", "links": []}]} +DELETE: /v1/federations/400dde50-06bb-4e70-945c-5ed5c1a4fcba +GOT:Response: 204 No Content +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version + +GET: /v1/federations/400dde50-06bb-4e70-945c-5ed5c1a4fcba {} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation 400dde50-06bb-4e70-945c-5ed5c1a4fcba could not be found", "detail": "Federation 400dde50-06bb-4e70-945c-5ed5c1a4fcba could not be found.", "links": []}]} +DELETE: /v1/federations/c03b3025-736c-4d1a-b6b0-3e48d34e3dd3 +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation c03b3025-736c-4d1a-b6b0-3e48d34e3dd3 could not be found", "detail": "Federation c03b3025-736c-4d1a-b6b0-3e48d34e3dd3 could not be found.", "links": []}]} +DELETE: /v1/federations/federation-example +GOT:Response: 204 No Content +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version + +DELETE: /v1/federations/foo +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation foo could not be found", "detail": "Federation foo could not be found.", "links": []}]} +GET: /v1/federations/detail {} +GOT:{'federations': [{'uuid': 'f2f90ff7-fb46-4851-a430-bc39a4eb95c4', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/f2f90ff7-fb46-4851-a430-bc39a4eb95c4', 'rel': 'self'}, {'href': 'http://localhost/federations/f2f90ff7-fb46-4851-a430-bc39a4eb95c4', 'rel': 'bookmark'}], 'created_at': '2025-01-16T22:54:47.594865+00:00', 'updated_at': None}]} +GET: /v1/federations/cef8a494-6d19-459b-8096-3200aa064f31/detail {} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "The %(name)s resource %(id)s could not be found", "detail": "The %(name)s resource %(id)s could not be found.", "links": []}]} +GET: /v1/federations/detail?limit=3&marker=f8a330b7-f493-46ae-9309-49e432f8613e {} +GOT:{'federations': [{'uuid': 'a0de941f-7416-4609-9e8a-b28ea9e3c877', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/a0de941f-7416-4609-9e8a-b28ea9e3c877', 'rel': 'self'}, {'href': 'http://localhost/federations/a0de941f-7416-4609-9e8a-b28ea9e3c877', 'rel': 'bookmark'}], 'created_at': '2025-01-16T22:54:47.668147+00:00', 'updated_at': None}]} +GET: /v1/federations {} +GOT:{'federations': []} +GET: /v1/federations?limit=3&marker=7edf144a-5e09-4d55-a53a-7cad9f10c333 {} +GOT:{'federations': [{'uuid': '58d9bcbf-6a39-4767-8888-7c049483c5e7', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/58d9bcbf-6a39-4767-8888-7c049483c5e7', 'rel': 'self'}, {'href': 'http://localhost/federations/58d9bcbf-6a39-4767-8888-7c049483c5e7', 'rel': 'bookmark'}]}]}magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_all_with_pagination_marker +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_all_with_pagination_marker ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name_multiple_federation +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name_multiple_federation ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name_not_found +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_uuid +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_uuid ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_uuid_not_found +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_uuid_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_links +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_links ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_many +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_many ... ok magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_as_admin magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_as_admin ... ok -magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get_exceed_manifest_size -magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get_exceed_manifest_size ... ok -magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get_unsupported_scheme -magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get_unsupported_scheme ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_check_exit_code_boolean -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_check_exit_code_boolean ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_one +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_one ... ok magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_name magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_name ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_get_root_helper -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_get_root_helper ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables ... ok magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_name_non_default_ngs magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_name_non_default_ngs ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_without_root_helper -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_without_root_helper ... ok magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_non_existent_role magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_non_existent_role ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_no_retry_on_success -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_no_retry_on_success ... ok magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_role magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_role ... ok -GET: /v1/federations/29283d20-8c37-486f-925e-0a2192dd04e4 {} -GOT:{'uuid': '29283d20-8c37-486f-925e-0a2192dd04e4', 'name': 'federation-example', 'hostcluster_id': 'fake_master', 'member_ids': [], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/29283d20-8c37-486f-925e-0a2192dd04e4', 'rel': 'self'}, {'href': 'http://localhost/federations/29283d20-8c37-486f-925e-0a2192dd04e4', 'rel': 'bookmark'}], 'created_at': '2026-02-19T05:12:48.846179+00:00', 'updated_at': '2026-02-19T05:12:48.855174+00:00'} -PATCH: /v1/federations/306adece-4026-4732-9b01-9f1c1926ebcf [{'path': '/member_ids', 'value': 'ebbba96b-bd4f-4f4a-83cb-6b9e7d264dd6', 'op': 'remove'}] +GET: /v1/federations/2b58a444-a933-483a-8e15-9890f4d08c61 {} +GOT:{'uuid': '2b58a444-a933-483a-8e15-9890f4d08c61', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/2b58a444-a933-483a-8e15-9890f4d08c61', 'rel': 'self'}, {'href': 'http://localhost/federations/2b58a444-a933-483a-8e15-9890f4d08c61', 'rel': 'bookmark'}], 'created_at': '2025-01-16T22:54:47.771781+00:00', 'updated_at': None} +GET: /v1/federations/fake-name {} +GOT:{'uuid': '73815ba0-ecc2-410a-ac5a-bd23cc60a49b', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/73815ba0-ecc2-410a-ac5a-bd23cc60a49b', 'rel': 'self'}, {'href': 'http://localhost/federations/73815ba0-ecc2-410a-ac5a-bd23cc60a49b', 'rel': 'bookmark'}], 'created_at': '2025-01-16T22:54:47.806347+00:00', 'updated_at': None} +GET: /v1/federations/test_federation {} +GOT:Response: 409 Conflict +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Multiple federations exist with same name", "detail": "Multiple federations exist with same name. Please use the federation uuid instead.", "links": []}]} +GET: /v1/federations/not_found {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster ebbba96b-bd4f-4f4a-83cb-6b9e7d264dd6 could not be found", "detail": "Cluster ebbba96b-bd4f-4f4a-83cb-6b9e7d264dd6 could not be found.", "links": []}]} -PATCH: /v1/federations/114cdfee-a77f-4e0f-95b1-172cccc648a9 [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'remove'}] +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation not_found could not be found", "detail": "Federation not_found could not be found.", "links": []}]} +GET: /v1/federations/1da2e91f-0665-4309-ac5f-41acd4f61666 {} +GOT:{'uuid': '1da2e91f-0665-4309-ac5f-41acd4f61666', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/1da2e91f-0665-4309-ac5f-41acd4f61666', 'rel': 'self'}, {'href': 'http://localhost/federations/1da2e91f-0665-4309-ac5f-41acd4f61666', 'rel': 'bookmark'}], 'created_at': '2025-01-16T22:54:47.896450+00:00', 'updated_at': None} +GET: /v1/federations/4b90d2a1-8969-41e3-8947-fa4518afc537 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 is not a member of the federation federation-example", "detail": "Cluster 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 is not a member of the federation federation-example.", "links": []}]} -GET: /v1/mservices {} +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation 4b90d2a1-8969-41e3-8947-fa4518afc537 could not be found", "detail": "Federation 4b90d2a1-8969-41e3-8947-fa4518afc537 could not be found.", "links": []}]} +GET: /v1/federations/37af9d7b-b9d2-4795-bf36-5fb65e9b8cb4 {} +GOT:{'uuid': '37af9d7b-b9d2-4795-bf36-5fb65e9b8cb4', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/37af9d7b-b9d2-4795-bf36-5fb65e9b8cb4', 'rel': 'self'}, {'href': 'http://localhost/federations/37af9d7b-b9d2-4795-bf36-5fb65e9b8cb4', 'rel': 'bookmark'}], 'created_at': '2025-01-16T22:54:47.955667+00:00', 'updated_at': None} +GET: /v1/federations/37af9d7b-b9d2-4795-bf36-5fb65e9b8cb4 {} +GOT:{'uuid': '37af9d7b-b9d2-4795-bf36-5fb65e9b8cb4', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/37af9d7b-b9d2-4795-bf36-5fb65e9b8cb4', 'rel': 'self'}, {'href': 'http://localhost/federations/37af9d7b-b9d2-4795-bf36-5fb65e9b8cb4', 'rel': 'bookmark'}], 'created_at': '2025-01-16T22:54:47.955667+00:00', 'updated_at': None} +GET: /federations/37af9d7b-b9d2-4795-bf36-5fb65e9b8cb4 {} +GOT:{'uuid': '37af9d7b-b9d2-4795-bf36-5fb65e9b8cb4', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/37af9d7b-b9d2-4795-bf36-5fb65e9b8cb4', 'rel': 'self'}, {'href': 'http://localhost/federations/37af9d7b-b9d2-4795-bf36-5fb65e9b8cb4', 'rel': 'bookmark'}], 'created_at': '2025-01-16T22:54:47.955667+00:00', 'updated_at': None} +GET: /v1/federations {} +GOT:{'federations': [{'uuid': '0741990b-9cea-4c56-8e6c-bb3ca2e72314', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/0741990b-9cea-4c56-8e6c-bb3ca2e72314', 'rel': 'self'}, {'href': 'http://localhost/federations/0741990b-9cea-4c56-8e6c-bb3ca2e72314', 'rel': 'bookmark'}]}, {'uuid': 'bd6af311-826a-4071-8d6c-fd6fa6057fcc', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/bd6af311-826a-4071-8d6c-fd6fa6057fcc', 'rel': 'self'}, {'href': 'http://localhost/federations/bd6af311-826a-4071-8d6c-fd6fa6057fcc', 'rel': 'bookmark'}]}, {'uuid': '0770ac55-ebe3-4cc0-9f0b-cf3c6cf98311', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/0770ac55-ebe3-4cc0-9f0b-cf3c6cf98311', 'rel': 'self'}, {'href': 'http://localhost/federations/0770ac55-ebe3-4cc0-9f0b-cf3c6cf98311', 'rel': 'bookmark'}]}, {'uuid': '41d60838-4cca-458f-84dc-c007defa5d49', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/41d60838-4cca-458f-84dc-c007defa5d49', 'rel': 'self'}, {'href': 'http://localhost/federations/41d60838-4cca-458f-84dc-c007defa5d49', 'rel': 'bookmark'}]}, {'uuid': '33648600-5839-4068-98e4-739c42bb162a', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/33648600-5839-4068-98e4-739c42bb162a', 'rel': 'self'}, {'href': 'http://localhost/federations/33648600-5839-4068-98e4-739c42bb162a', 'rel': 'bookmark'}]}]} +GET: /v1/federations {} +GOT:{'federations': [{'uuid': '7487dbf0-af25-483f-a526-f88a2884fa8f', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/7487dbf0-af25-483f-a526-f88a2884fa8f', 'rel': 'self'}, {'href': 'http://localhost/federations/7487dbf0-af25-483f-a526-f88a2884fa8f', 'rel': 'bookmark'}]}]} +PATCH: /v1/federations/ea6da101-3d78-48ff-a530-4a127647568b [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'add'}] +GOT:Response: 409 Conflict +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "A cluster with UUID 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 is already a member of the federation federation-example", "detail": "A cluster with UUID 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 is already a member of the federation federation-example.", "links": []}]}magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_join_cluster_already_member +magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_join_cluster_already_member ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_join_non_existent_cluster +magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_join_non_existent_cluster ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_member_join +magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_member_join ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_non_existent_cluster +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_non_existent_cluster ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_member_unjoin +magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_member_unjoin ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_unjoin_non_existent_cluster +magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_unjoin_non_existent_cluster ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_with_pagination_marker +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_with_pagination_marker ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_unjoin_non_member_cluster +magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_unjoin_non_member_cluster ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_wrong_microversion +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_wrong_microversion ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_by_name_not_found +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_by_name_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_default_nodegroup +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_default_nodegroup ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_nodegroup +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_nodegroup ... ok + GOT:{'mservices': []} GET: /v1/mservices {} GOT:{'mservices': [{'host': 'fake-host', 'binary': 'magnum-conductor', 'state': 'up', 'id': 1, 'report_count': 13, 'disabled': False, 'disabled_reason': None, 'created_at': '2001-01-01T00:00:00+00:00', 'updated_at': '2001-01-01T00:00:00+00:00'}, {'host': 'fake-host', 'binary': 'magnum-conductor', 'state': 'up', 'id': 2, 'report_count': 13, 'disabled': False, 'disabled_reason': None, 'created_at': '2001-01-01T00:00:00+00:00', 'updated_at': '2001-01-01T00:00:00+00:00'}, {'host': 'fake-host', 'binary': 'magnum-conductor', 'state': 'up', 'id': 3, 'report_count': 13, 'disabled': False, 'disabled_reason': None, 'created_at': '2001-01-01T00:00:00+00:00', 'updated_at': '2001-01-01T00:00:00+00:00'}, {'host': 'fake-host', 'binary': 'magnum-conductor', 'state': 'up', 'id': 4, 'report_count': 13, 'disabled': False, 'disabled_reason': None, 'created_at': '2001-01-01T00:00:00+00:00', 'updated_at': '2001-01-01T00:00:00+00:00'}, {'host': 'fake-host', 'binary': 'magnum-conductor', 'state': 'up', 'id': 5, 'report_count': 13, 'disabled': False, 'disabled_reason': None, 'created_at': '2001-01-01T00:00:00+00:00', 'updated_at': '2001-01-01T00:00:00+00:00'}]} @@ -13222,20 +12496,20 @@ Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow magnum-service:get_all to be performed", "detail": "Policy doesn't allow magnum-service:get_all to be performed.", "links": []}]} -GET: /v1/clusters/d2b5fc32-bb79-4f08-8fdb-21a00826c435/nodegroups {} -GOT:{'nodegroups': [{'uuid': '6efc12f8-bfa6-4956-93f5-0a3b04f8e3ed', 'name': 'test-worker', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'worker', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}, {'uuid': '236ae75f-114a-48d6-a748-fc13b91bb6ff', 'name': 'test-master', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'master', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}]} -GET: /v1/clusters/b75e5a1d-c8c8-48f0-b633-71ae4a8110c9/nodegroups {} -GOT:{'nodegroups': [{'uuid': 'f17c066f-c2d2-4191-870f-27914b6a319e', 'name': 'test-worker', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'worker', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}, {'uuid': 'afb6e115-0a53-4fd1-bd3b-8ad4bec4a787', 'name': 'test-master', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'master', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}]} +GET: /v1/clusters/b262819e-9485-409d-9a47-d1c2d659df71/nodegroups {} +GOT:{'nodegroups': [{'uuid': '504b90de-0efe-4e76-a3dd-e3ea02add588', 'name': 'test-worker', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'worker', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}, {'uuid': 'a7c644c2-52aa-4705-a60f-c73e1e7b1400', 'name': 'test-master', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'master', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}]} +GET: /v1/clusters/14048079-0238-48e7-a2a0-f1f995cbb660/nodegroups {} +GOT:{'nodegroups': [{'uuid': 'faef659b-86e6-44b9-b2c2-d50cd5fc7978', 'name': 'test-worker', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'worker', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}, {'uuid': '2c50a388-ff67-4465-8345-37ddc3a64aac', 'name': 'test-master', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'master', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}]} GET: /v1/clusters/cluster1/nodegroups {} -GOT:{'nodegroups': [{'uuid': '54fff007-8ba8-4e82-9d09-0e2b227398d0', 'name': 'test-worker', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'worker', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}, {'uuid': 'e0ededd5-6c68-4a75-87ad-187de4499808', 'name': 'test-master', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'master', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}]} +GOT:{'nodegroups': [{'uuid': '10c49873-bc47-42ef-9b87-68eb1b3a6053', 'name': 'test-worker', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'worker', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}, {'uuid': 'bb68b388-8fb5-4645-bc41-854961b8be53', 'name': 'test-master', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'master', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}]} GET: /v1/clusters/cluster1/nodegroups {} -GOT:{'nodegroups': [{'uuid': '9828fcf5-676e-4c2e-a06b-8d38e5f769c8', 'name': 'test-worker', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'worker', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}, {'uuid': '28a93412-8c93-471d-b43c-0d7e9b8c3b2d', 'name': 'test-master', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'master', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}, {'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'non_default_ng', 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}]} +GOT:{'nodegroups': [{'uuid': 'da425d7c-968f-4ea6-9386-7b664a8e9d75', 'name': 'test-worker', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'worker', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}, {'uuid': 'b4944997-8cd7-422f-806c-05478a05f58c', 'name': 'test-master', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'master', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}, {'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'non_default_ng', 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}]} GET: /v1/clusters/cluster1/nodegroups?role=non-existent {} GOT:{'nodegroups': []} GET: /v1/clusters/cluster1/nodegroups?role=master {} -GOT:{'nodegroups': [{'uuid': '2f89dfcf-5a7e-4ef6-8370-073ba859df1b', 'name': 'test-master', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'master', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}]} +GOT:{'nodegroups': [{'uuid': 'fd3c6e73-71fa-47c3-b10a-debd5237b36f', 'name': 'test-master', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'master', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}]} GET: /v1/clusters/cluster1/nodegroups?role=worker {} -GOT:{'nodegroups': [{'uuid': '2aacc7bf-aa99-4ded-b672-35a5fdcd482d', 'name': 'test-worker', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'worker', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}]} +GOT:{'nodegroups': [{'uuid': 'aecf8b4f-c5fb-42f8-816a-2b4a46e1c94b', 'name': 'test-worker', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'worker', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}]} GET: /v1/clusters/not-here/nodegroups {} GOT:Response: 404 Not Found Content-Type: application/json @@ -13243,13 +12517,18 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not-here could not be found", "detail": "Cluster not-here could not be found.", "links": []}]}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_non_existent_cluster -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_non_existent_cluster ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_with_pagination_marker -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_with_pagination_marker ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_wrong_microversion -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_wrong_microversion ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not-here could not be found", "detail": "Cluster not-here could not be found.", "links": []}]} +GET: /v1/clusters/db8f2264-5a37-46df-b3f2-dbfb9388012e/nodegroups?limit=1 {} +GOT:{'nodegroups': [{'uuid': '2d5ed017-b556-48f5-874f-4f9610bb7747', 'name': 'test-worker', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'worker', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}], 'next': 'http://localhost/v1/clusters/db8f2264-5a37-46df-b3f2-dbfb9388012e/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=2d5ed017-b556-48f5-874f-4f9610bb7747'} +GET: /v1/clusters/db8f2264-5a37-46df-b3f2-dbfb9388012e/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=2d5ed017-b556-48f5-874f-4f9610bb7747 {} +GOT:{'nodegroups': [{'uuid': '22e588a5-819a-4bb0-bbea-86c4bcfb59de', 'name': 'test-master', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'master', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}], 'next': 'http://localhost/v1/clusters/db8f2264-5a37-46df-b3f2-dbfb9388012e/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=22e588a5-819a-4bb0-bbea-86c4bcfb59de'} +GET: /v1/clusters/db8f2264-5a37-46df-b3f2-dbfb9388012e/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=22e588a5-819a-4bb0-bbea-86c4bcfb59de {} +GOT:{'nodegroups': []} +GET: /v1/clusters/8498d106-b43f-4c86-8e23-0644ecc75608/nodegroups/ {} +GOT:Response: 406 Not Acceptable +Content-Type: application/json +{"errors": [{"request_id": "", "code": "", "status": 406, "title": "", "detail": "", "links": []}]} +GET: /v1/clusters/3d9226ea-da83-4c49-a4e3-62b4e9e2e974/nodegroups/0f8d2c6d-a7ef-421a-a3c3-a2f6516595c8 {}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one ... ok magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_as_admin magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_as_admin ... ok @@ -13257,36 +12536,181 @@ magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_non_default ... ok magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_non_default_skipped_labels magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_non_default_skipped_labels ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_nodegroup_as_admin +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_nodegroup_as_admin ... ok magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_non_existent_ng magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_non_existent_ng ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_nodegroup_by_name +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_nodegroup_by_name ... ok magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_wrong_microversion magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_wrong_microversion ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_not_found +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_not_found ... ok magnum.tests.unit.api.controllers.v1.test_nodegroup.TestNodeGroupPolicyEnforcement.test_policy_disallow_get_all magnum.tests.unit.api.controllers.v1.test_nodegroup.TestNodeGroupPolicyEnforcement.test_policy_disallow_get_all ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_wrong_microversion +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_wrong_microversion ... ok magnum.tests.unit.api.controllers.v1.test_nodegroup.TestNodeGroupPolicyEnforcement.test_policy_disallow_get_one magnum.tests.unit.api.controllers.v1.test_nodegroup.TestNodeGroupPolicyEnforcement.test_policy_disallow_get_one ... ok magnum.tests.unit.api.controllers.v1.test_nodegroup.TestNodegroupObject.test_nodegroup_init magnum.tests.unit.api.controllers.v1.test_nodegroup.TestNodegroupObject.test_nodegroup_init ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_master_ng +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_master_ng ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_cluster_no_api_address +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_cluster_no_api_address ... ok +Exception ignored in: . at 0xefc83528> +Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 729, in + _finalize_fairy( + File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 1035, in _finalize_fairy + connection_record.checkin() + File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 770, in checkin + pool.dispatch.checkin(connection, self) + File "/usr/lib/python3/dist-packages/sqlalchemy/event/attr.py", line 497, in __call__ + fn(*args, **kw) + File "/usr/lib/python3/dist-packages/oslo_db/sqlalchemy/engines.py", line 52, in _thread_yield + time.sleep(0) + File "/usr/lib/python3/dist-packages/eventlet/greenthread.py", line 35, in sleep + raise RuntimeError('do not call blocking functions from the mainloop') +RuntimeError: do not call blocking functions from the mainloop -GET: /v1/clusters/20458008-6cc2-4e2f-8a28-11e750d340c1/nodegroups?limit=1 {} -GOT:{'nodegroups': [{'uuid': '2ee01eb9-dd1b-4adf-896d-6704d829c2b6', 'name': 'test-worker', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'worker', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}], 'next': 'http://localhost/v1/clusters/20458008-6cc2-4e2f-8a28-11e750d340c1/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=2ee01eb9-dd1b-4adf-896d-6704d829c2b6'} -GET: /v1/clusters/20458008-6cc2-4e2f-8a28-11e750d340c1/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=2ee01eb9-dd1b-4adf-896d-6704d829c2b6 {} -GOT:{'nodegroups': [{'uuid': 'c2152b8e-bcea-4be8-aecf-a1220794a863', 'name': 'test-master', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'master', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}], 'next': 'http://localhost/v1/clusters/20458008-6cc2-4e2f-8a28-11e750d340c1/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=c2152b8e-bcea-4be8-aecf-a1220794a863'} -GET: /v1/clusters/20458008-6cc2-4e2f-8a28-11e750d340c1/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=c2152b8e-bcea-4be8-aecf-a1220794a863 {} -GOT:{'nodegroups': []} -GET: /v1/clusters/7d5c4a32-a76b-438e-b0c8-1c8620be9c7a/nodegroups/ {} +PATCH: /v1/federations/361d7c3f-b74a-4c22-9d63-8bae21a02c23 [{'path': '/member_ids', 'value': '329cb47c-c352-4594-a667-276c466b5f08', 'op': 'add'}] +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 329cb47c-c352-4594-a667-276c466b5f08 could not be found", "detail": "Cluster 329cb47c-c352-4594-a667-276c466b5f08 could not be found.", "links": []}]} +PATCH: /v1/federations/8a77675c-aae7-4662-aa50-9e4c1be2cd4d [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'add'}] +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"uuid": "8a77675c-aae7-4662-aa50-9e4c1be2cd4d"} +GET: /v1/federations/8a77675c-aae7-4662-aa50-9e4c1be2cd4d {} +GOT:{'uuid': '8a77675c-aae7-4662-aa50-9e4c1be2cd4d', 'name': 'federation-example', 'hostcluster_id': 'fake_master', 'member_ids': ['5d12f6fd-a196-4bf0-ae4c-1f639a523a52'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/8a77675c-aae7-4662-aa50-9e4c1be2cd4d', 'rel': 'self'}, {'href': 'http://localhost/federations/8a77675c-aae7-4662-aa50-9e4c1be2cd4d', 'rel': 'bookmark'}], 'created_at': '2025-01-16T22:54:48.265592+00:00', 'updated_at': '2025-01-16T22:54:48.313495+00:00'} +PATCH: /v1/federations/d107556b-4c22-4ea6-ac11-8d3fa18c71fb [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'remove'}] +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"uuid": "d107556b-4c22-4ea6-ac11-8d3fa18c71fb"} +GET: /v1/federations/d107556b-4c22-4ea6-ac11-8d3fa18c71fb {} +GOT:{'uuid': 'd107556b-4c22-4ea6-ac11-8d3fa18c71fb', 'name': 'federation-example', 'hostcluster_id': 'fake_master', 'member_ids': [], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/d107556b-4c22-4ea6-ac11-8d3fa18c71fb', 'rel': 'self'}, {'href': 'http://localhost/federations/d107556b-4c22-4ea6-ac11-8d3fa18c71fb', 'rel': 'bookmark'}], 'created_at': '2025-01-16T22:54:48.363318+00:00', 'updated_at': '2025-01-16T22:54:48.380354+00:00'} +PATCH: /v1/federations/03c98b37-ea3a-436b-b2ec-9d25c58ffadb [{'path': '/member_ids', 'value': '1dc01805-4d8a-43bc-8148-ebda494bfff9', 'op': 'remove'}] +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 1dc01805-4d8a-43bc-8148-ebda494bfff9 could not be found", "detail": "Cluster 1dc01805-4d8a-43bc-8148-ebda494bfff9 could not be found.", "links": []}]} +PATCH: /v1/federations/9d603bd5-d84a-4dcf-8301-c8dd91acf027 [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'remove'}] +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 is not a member of the federation federation-example", "detail": "Cluster 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 is not a member of the federation federation-example.", "links": []}]} +DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/not-there +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup not-there could not be found", "detail": "Nodegroup not-there could not be found.", "links": []}]} +DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/df1e0c38-dc6e-43e7-ace3-72626f7834d5 +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Deleting a default nodegroup is not supported", "detail": "Deleting a default nodegroup is not supported.", "links": []}]} +DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 +GOT:Response: 204 No Content +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version + +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 {} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup 483203a3-dbee-4a9c-9d65-9820512f4df8 could not be found", "detail": "Nodegroup 483203a3-dbee-4a9c-9d65-9820512f4df8 could not be found.", "links": []}]} +DELETE: /v1/clusters/c5879e7d-84e3-4649-999b-64e68b47d22a/nodegroups/f81bd543-f57e-4935-a48f-f4a57274d143 +GOT:Response: 204 No Content +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version + +DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 +GOT:Response: 204 No Content +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version + +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 {} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup nodegroup1 could not be found", "detail": "Nodegroup nodegroup1 could not be found.", "links": []}]} +DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/0b872cf8-aad0-425d-8db3-b062deaba054 +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup 0b872cf8-aad0-425d-8db3-b062deaba054 could not be found", "detail": "Nodegroup 0b872cf8-aad0-425d-8db3-b062deaba054 could not be found.", "links": []}]} +DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 GOT:Response: 406 Not Acceptable Content-Type: application/json {"errors": [{"request_id": "", "code": "", "status": 406, "title": "", "detail": "", "links": []}]} -GET: /v1/clusters/45054cd6-4c97-4612-b2bf-924876e4eb53/nodegroups/c91a6c3a-b527-4278-8800-d408f96eaeae {} -GOT:{'id': 1, 'uuid': 'c91a6c3a-b527-4278-8800-d408f96eaeae', 'name': 'test-worker', 'cluster_id': '45054cd6-4c97-4612-b2bf-924876e4eb53', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/45054cd6-4c97-4612-b2bf-924876e4eb53/nodegroups/c91a6c3a-b527-4278-8800-d408f96eaeae', 'rel': 'self'}, {'href': 'http://localhost/clusters/45054cd6-4c97-4612-b2bf-924876e4eb53/nodegroups/c91a6c3a-b527-4278-8800-d408f96eaeae', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': 'test_image', 'node_addresses': ['172.17.2.4'], 'node_count': 3, 'role': 'worker', 'min_node_count': 1, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2026-02-19T05:12:49.212523+00:00', 'updated_at': None} -GET: /v1/clusters/33073f4e-4edf-4b86-9f14-aec7ffc900b9/nodegroups/3dfcbc3e-b69b-45b6-b44c-e465e5b9b21a {} -GOT:{'id': 3, 'uuid': '3dfcbc3e-b69b-45b6-b44c-e465e5b9b21a', 'name': 'test-worker', 'cluster_id': '33073f4e-4edf-4b86-9f14-aec7ffc900b9', 'project_id': '33073f4e-4edf-4b86-9f14-aec7ffc900b9', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/33073f4e-4edf-4b86-9f14-aec7ffc900b9/nodegroups/3dfcbc3e-b69b-45b6-b44c-e465e5b9b21a', 'rel': 'self'}, {'href': 'http://localhost/clusters/33073f4e-4edf-4b86-9f14-aec7ffc900b9/nodegroups/3dfcbc3e-b69b-45b6-b44c-e465e5b9b21a', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': 'test_image', 'node_addresses': ['172.17.2.4'], 'node_count': 3, 'role': 'worker', 'min_node_count': 1, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2026-02-19T05:12:49.244609+00:00', 'updated_at': None} -GET: /v1/clusters/156b69f7-223f-4431-9205-6c3a37c9dfbf/nodegroups/non_default_ng {} -GOT:{'id': 3, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'non_default_ng', 'cluster_id': '156b69f7-223f-4431-9205-6c3a37c9dfbf', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {'label1': 'value3', 'label2': 'value2', 'label4': 'value4'}, 'links': [{'href': 'http://localhost/v1/clusters/156b69f7-223f-4431-9205-6c3a37c9dfbf/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/156b69f7-223f-4431-9205-6c3a37c9dfbf/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 3, 'role': 'worker', 'min_node_count': 1, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {'label1': 'value1'}, 'labels_added': {'label4': 'value4'}, 'labels_skipped': {}, 'created_at': '2026-02-19T05:12:49.277393+00:00', 'updated_at': None} -GET: /v1/clusters/c504e849-3995-467a-8348-71af9e0a7183/nodegroups/non_default_ng {} -GOT:{'id': 3, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'non_default_ng', 'cluster_id': 'c504e849-3995-467a-8348-71af9e0a7183', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {'label1': 'value3', 'label4': 'value4'}, 'links': [{'href': 'http://localhost/v1/clusters/c504e849-3995-467a-8348-71af9e0a7183/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/c504e849-3995-467a-8348-71af9e0a7183/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 3, 'role': 'worker', 'min_node_count': 1, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {'label1': 'value1'}, 'labels_added': {'label4': 'value4'}, 'labels_skipped': {'label2': 'value2'}, 'created_at': '2026-02-19T05:12:49.305778+00:00', 'updated_at': None} -GET: /v1/clusters/e8be9e84-5204-422f-b175-ccd9467cfbac/nodegroups/not-here {} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/node_count', 'op': 'remove'}] +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/node_count' is an internal attribute and can not be updated", "detail": "'/node_count' is an internal attribute and can not be updated", "links": []}]}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_internal_attr +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_internal_attr ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_min_node_count +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_min_node_count ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_non_existent_property +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_non_existent_property ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_ok ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_max_node_count_failed +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_max_node_count_failed ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_min_node_count_failed +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_min_node_count_failed ... ok + +GOT:{'id': 1, 'uuid': '0f8d2c6d-a7ef-421a-a3c3-a2f6516595c8', 'name': 'test-worker', 'cluster_id': '3d9226ea-da83-4c49-a4e3-62b4e9e2e974', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/3d9226ea-da83-4c49-a4e3-62b4e9e2e974/nodegroups/0f8d2c6d-a7ef-421a-a3c3-a2f6516595c8', 'rel': 'self'}, {'href': 'http://localhost/clusters/3d9226ea-da83-4c49-a4e3-62b4e9e2e974/nodegroups/0f8d2c6d-a7ef-421a-a3c3-a2f6516595c8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': 'test_image', 'node_addresses': ['172.17.2.4'], 'node_count': 3, 'role': 'worker', 'min_node_count': 1, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2025-01-16T22:54:48.499598+00:00', 'updated_at': None} +GET: /v1/clusters/7fc3e256-9bba-4afe-bf60-6674bfa88938/nodegroups/d1959fbe-dd31-410c-b00f-d7f030e7b752 {} +GOT:{'id': 3, 'uuid': 'd1959fbe-dd31-410c-b00f-d7f030e7b752', 'name': 'test-worker', 'cluster_id': '7fc3e256-9bba-4afe-bf60-6674bfa88938', 'project_id': '7fc3e256-9bba-4afe-bf60-6674bfa88938', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/7fc3e256-9bba-4afe-bf60-6674bfa88938/nodegroups/d1959fbe-dd31-410c-b00f-d7f030e7b752', 'rel': 'self'}, {'href': 'http://localhost/clusters/7fc3e256-9bba-4afe-bf60-6674bfa88938/nodegroups/d1959fbe-dd31-410c-b00f-d7f030e7b752', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': 'test_image', 'node_addresses': ['172.17.2.4'], 'node_count': 3, 'role': 'worker', 'min_node_count': 1, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2025-01-16T22:54:48.564340+00:00', 'updated_at': None} +GET: /v1/clusters/2c39c9ae-1614-4efc-ba88-91b948580731/nodegroups/non_default_ng {} +GOT:{'id': 3, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'non_default_ng', 'cluster_id': '2c39c9ae-1614-4efc-ba88-91b948580731', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {'label1': 'value3', 'label2': 'value2', 'label4': 'value4'}, 'links': [{'href': 'http://localhost/v1/clusters/2c39c9ae-1614-4efc-ba88-91b948580731/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/2c39c9ae-1614-4efc-ba88-91b948580731/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 3, 'role': 'worker', 'min_node_count': 1, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {'label1': 'value1'}, 'labels_added': {'label4': 'value4'}, 'labels_skipped': {}, 'created_at': '2025-01-16T22:54:48.630136+00:00', 'updated_at': None} +GET: /v1/clusters/dcc13032-13f6-47d9-8732-d7eee82f0c88/nodegroups/non_default_ng {} +GOT:{'id': 3, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'non_default_ng', 'cluster_id': 'dcc13032-13f6-47d9-8732-d7eee82f0c88', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {'label1': 'value3', 'label4': 'value4'}, 'links': [{'href': 'http://localhost/v1/clusters/dcc13032-13f6-47d9-8732-d7eee82f0c88/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/dcc13032-13f6-47d9-8732-d7eee82f0c88/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 3, 'role': 'worker', 'min_node_count': 1, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {'label1': 'value1'}, 'labels_added': {'label4': 'value4'}, 'labels_skipped': {'label2': 'value2'}, 'created_at': '2025-01-16T22:54:48.683582+00:00', 'updated_at': None} +GET: /v1/clusters/cac16279-788b-430a-b522-fc36864f4e0e/nodegroups/not-here {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 @@ -13294,11 +12718,11 @@ Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup not-here could not be found", "detail": "Nodegroup not-here could not be found.", "links": []}]} -GET: /v1/clusters/e9e935f0-c401-423c-9c54-7b712348ce09/nodegroups/cec577c0-6814-41d5-b751-ca40968ff269 {} +GET: /v1/clusters/b13bec7f-7181-45a9-b476-976c83217367/nodegroups/27a0c119-8427-4fe3-bebd-219d3500c963 {} GOT:Response: 406 Not Acceptable Content-Type: application/json {"errors": [{"request_id": "", "code": "", "status": 406, "title": "", "detail": "", "links": []}]} -GET: /v1/clusters/399a9ef8-2578-4328-ac5a-96295c124712/nodegroups {} +GET: /v1/clusters/f4ff08d2-3d60-4353-898d-74a98940e31e/nodegroups {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 @@ -13306,7 +12730,7 @@ Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow nodegroup:get_all to be performed", "detail": "Policy doesn't allow nodegroup:get_all to be performed.", "links": []}]} -GET: /v1/clusters/2b7c09c5-65d3-45f4-bfa1-25f18c174b25/nodegroups/ad268d7d-a4d6-4689-ab0b-f6c03e77e34a {} +GET: /v1/clusters/7e1858a4-a6e6-494c-98d5-2ff26b7e03f6/nodegroups/eeded607-8f62-4350-9b25-88d2b7125af6 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 @@ -13314,81 +12738,112 @@ Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow nodegroup:get to be performed", "detail": "Policy doesn't allow nodegroup:get to be performed.", "links": []}]} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'master', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_master_ng -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_master_ng ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_cluster_no_api_address -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_cluster_no_api_address ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_same_name +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'master', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Creating master nodegroups is currently not supported", "detail": "Creating master nodegroups is currently not supported.", "links": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} +GOT:Response: 409 Conflict +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Cluster API address is not available yet", "detail": "Cluster API address is not available yet", "links": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'test-master', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} +GOT:Response: 409 Conflict +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "A node group with name test-master already exists in the cluster cluster1", "detail": "A node group with name test-master already exists in the cluster cluster1.", "links": []}]}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_same_name magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_same_name ... ok -Exception ignored in: . at 0xefacc2a8> -Traceback (most recent call last): - File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 729, in - _finalize_fairy( - File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 1035, in _finalize_fairy - connection_record.checkin() - File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 770, in checkin - pool.dispatch.checkin(connection, self) - File "/usr/lib/python3/dist-packages/sqlalchemy/event/attr.py", line 497, in __call__ - fn(*args, **kw) - File "/usr/lib/python3/dist-packages/oslo_db/sqlalchemy/engines.py", line 52, in _thread_yield - time.sleep(0) - File "/usr/lib/python3/dist-packages/eventlet/greenthread.py", line 35, in sleep - raise RuntimeError('do not call blocking functions from the mainloop') -RuntimeError: do not call blocking functions from the mainloop magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_with_labels magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_with_labels ... ok magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_with_merge_labels magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_with_merge_labels ... ok magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_with_merge_labels_no_labels magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_with_merge_labels_no_labels ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_retry_on_failure -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_retry_on_failure ... ok magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_wrong_microversion magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_wrong_microversion ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_safe_rstrip -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_safe_rstrip ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_safe_rstrip_not_raises_exceptions -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_safe_rstrip_not_raises_exceptions ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_unknown_kwargs_raises_error -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_unknown_kwargs_raises_error ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_validate_and_normalize_mac -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_validate_and_normalize_mac ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_validate_and_normalize_mac_invalid_format -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_validate_and_normalize_mac_invalid_format ... ok -magnum.tests.unit.common.test_utils.GeneratePasswordTestCase.test_generate_password -magnum.tests.unit.common.test_utils.GeneratePasswordTestCase.test_generate_password ... ok -magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir -magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir ... ok -magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked -magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked ... ok -magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked_error_on_rmtree -magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked_error_on_rmtree ... ok -magnum.tests.unit.common.x509.test_operations.TestX509Operations.test_decrypt_key -magnum.tests.unit.common.x509.test_operations.TestX509Operations.test_decrypt_key ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_node_count_failed +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_node_count_failed ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup ... ok +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/min_node_count', 'op': 'remove'}] +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"id": 12, "uuid": "483203a3-dbee-4a9c-9d65-9820512f4df8", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 2, "role": "worker", "min_node_count": 0, "max_node_count": 5, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2025-01-16T22:54:48.956166+00:00", "updated_at": null} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 {} +GOT:{'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'cluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 2, 'role': 'worker', 'min_node_count': 0, 'max_node_count': 5, 'is_default': False, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2025-01-16T22:54:48.956166+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/not_there', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Creating master nodegroups is currently not supported", "detail": "Creating master nodegroups is currently not supported.", "links": []}]} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Couldn't apply patch '[{'path': '/not_there', 'op': 'remove'}]'", "detail": "Couldn't apply patch '[{'path': '/not_there', 'op': 'remove'}]'. Reason: can't remove a non-existent object 'not_there'", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/max_node_count', 'op': 'remove'}] +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"id": 12, "uuid": "483203a3-dbee-4a9c-9d65-9820512f4df8", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 2, "role": "worker", "min_node_count": 2, "max_node_count": null, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2025-01-16T22:54:49.082206+00:00", "updated_at": null} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 {} +GOT:{'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'cluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 2, 'role': 'worker', 'min_node_count': 2, 'max_node_count': None, 'is_default': False, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2025-01-16T22:54:49.082206+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/max_node_count', 'value': 1, 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Cluster API address is not available yet", "detail": "Cluster API address is not available yet", "links": []}]} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'test-master', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "max_node_count for nodegroup1 is invalid (min_node_count (2) should be less or equal to max_node_count (1))", "detail": "max_node_count for nodegroup1 is invalid (min_node_count (2) should be less or equal to max_node_count (1)).", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/min_node_count', 'value': 3, 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "A node group with name test-master already exists in the cluster cluster1", "detail": "A node group with name test-master already exists in the cluster cluster1.", "links": []}]} +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "min_node_count for nodegroup1 is invalid (min_node_count (3) should be less or equal to node_count (2))", "detail": "min_node_count for nodegroup1 is invalid (min_node_count (3) should be less or equal to node_count (2)).", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/node_count', 'value': 3, 'op': 'replace'}] +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/node_count' is an internal attribute and can not be updated", "detail": "'/node_count' is an internal attribute and can not be updated", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 [{'path': '/max_node_count', 'value': 4, 'op': 'replace'}] +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"id": 12, "uuid": "483203a3-dbee-4a9c-9d65-9820512f4df8", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 2, "role": "worker", "min_node_count": 2, "max_node_count": 4, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2025-01-16T22:54:49.328097+00:00", "updated_at": null}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_ok ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_ok_by_name +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_ok_by_name ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_wrong_microversion +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_wrong_microversion ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_update_nodegroup_as_admin +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_update_nodegroup_as_admin ... ok + POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': {'label3': 'value3'}, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -13396,7 +12851,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"id": 12, "uuid": "73a8cc9f-a2cd-4bb9-bad7-a09d30934ff7", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {"label3": "value3"}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/73a8cc9f-a2cd-4bb9-bad7-a09d30934ff7", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/73a8cc9f-a2cd-4bb9-bad7-a09d30934ff7", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {"label3": "value3"}, "labels_skipped": {"label1": "value1", "label2": "value2"}, "created_at": "2026-02-19T05:12:49.525668+00:00", "updated_at": null} +{"id": 12, "uuid": "183beca9-8aa7-462f-935b-1bc69d5028e1", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {"label3": "value3"}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/183beca9-8aa7-462f-935b-1bc69d5028e1", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/183beca9-8aa7-462f-935b-1bc69d5028e1", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {"label3": "value3"}, "labels_skipped": {"label1": "value1", "label2": "value2"}, "created_at": "2025-01-16T22:54:49.097022+00:00", "updated_at": null} POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': {'label1': 'value3', 'label4': 'value4'}, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': True} GOT:Response: 202 Accepted Content-Type: application/json @@ -13404,7 +12859,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"id": 12, "uuid": "95dfc59b-bd0d-48a5-8c85-af700e6e0a89", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {"label1": "value3", "label2": "value2", "label4": "value4"}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/95dfc59b-bd0d-48a5-8c85-af700e6e0a89", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/95dfc59b-bd0d-48a5-8c85-af700e6e0a89", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {"label1": "value1"}, "labels_added": {"label4": "value4"}, "labels_skipped": {}, "created_at": "2026-02-19T05:12:49.554252+00:00", "updated_at": null} +{"id": 12, "uuid": "95c40854-d2ea-4ae1-927d-1856e0c93b2a", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {"label1": "value3", "label2": "value2", "label4": "value4"}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/95c40854-d2ea-4ae1-927d-1856e0c93b2a", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/95c40854-d2ea-4ae1-927d-1856e0c93b2a", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {"label1": "value1"}, "labels_added": {"label4": "value4"}, "labels_skipped": {}, "created_at": "2025-01-16T22:54:49.155253+00:00", "updated_at": null} POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': True} GOT:Response: 202 Accepted Content-Type: application/json @@ -13412,7 +12867,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"id": 12, "uuid": "639ac8c6-8e7f-47c0-9425-084ebefff57e", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {"label1": "value1", "label2": "value2"}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/639ac8c6-8e7f-47c0-9425-084ebefff57e", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/639ac8c6-8e7f-47c0-9425-084ebefff57e", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2026-02-19T05:12:49.582417+00:00", "updated_at": null} +{"id": 12, "uuid": "a48789d9-b5a1-4e88-84a4-e89e9e4c512e", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {"label1": "value1", "label2": "value2"}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/a48789d9-b5a1-4e88-84a4-e89e9e4c512e", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/a48789d9-b5a1-4e88-84a4-e89e9e4c512e", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2025-01-16T22:54:49.213660+00:00", "updated_at": null} POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'new_ng', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} GOT:Response: 406 Not Acceptable Content-Type: application/json @@ -13424,19 +12879,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"id": 12, "uuid": "5d55eff1-f098-4daf-bb37-f387ffd74336", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/5d55eff1-f098-4daf-bb37-f387ffd74336", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/5d55eff1-f098-4daf-bb37-f387ffd74336", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_invalid_node_count -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_invalid_node_count ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_only_name -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_only_name ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_flavor -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_flavor ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_image_id -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_image_id ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_labels -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_labels ... ok - +{"id": 12, "uuid": "0a92b059-0b21-4e53-9a51-b3c567bfda6d", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/0a92b059-0b21-4e53-9a51-b3c567bfda6d", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/0a92b059-0b21-4e53-9a51-b3c567bfda6d", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 7, 'role': 'worker', 'max_node_count': 5, 'min_node_count': 1, 'merge_labels': False} GOT:Response: 409 Conflict Content-Type: application/json @@ -13452,7 +12895,37 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "min_node_count for nodegroup1 is invalid (min_node_count (3) should be less or equal to node_count (2))", "detail": "min_node_count for nodegroup1 is invalid (min_node_count (3) should be less or equal to node_count (2)).", "links": []}]} +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "min_node_count for nodegroup1 is invalid (min_node_count (3) should be less or equal to node_count (2))", "detail": "min_node_count for nodegroup1 is invalid (min_node_count (3) should be less or equal to node_count (2)).", "links": []}]}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_invalid_node_count +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_invalid_node_count ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_only_name +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_only_name ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_flavor +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_flavor ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_image_id +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_image_id ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_labels +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_labels ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_max_node_count +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_max_node_count ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_invalid_hard_limit +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_invalid_hard_limit ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_invalid_resource +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_invalid_resource ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_no_project_id +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_no_project_id ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_project_id_not_found +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_project_id_not_found ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " + POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'name': 'test_ng'} GOT:Response: 202 Accepted Content-Type: application/json @@ -13460,7 +12933,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"id": 3, "uuid": "c80f2987-d25b-4dc0-9b88-b82c26a1b803", "name": "test_ng", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/c80f2987-d25b-4dc0-9b88-b82c26a1b803", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/c80f2987-d25b-4dc0-9b88-b82c26a1b803", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 1, "role": "worker", "min_node_count": 0, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} +{"id": 3, "uuid": "810959f3-dcff-4096-90e6-a9b14913b559", "name": "test_ng", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/810959f3-dcff-4096-90e6-a9b14913b559", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/810959f3-dcff-4096-90e6-a9b14913b559", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 1, "role": "worker", "min_node_count": 0, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': 'test_flavor', 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -13468,7 +12941,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"id": 12, "uuid": "426150b9-7d49-4dbf-a3d2-56f6b6ea59b0", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/426150b9-7d49-4dbf-a3d2-56f6b6ea59b0", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/426150b9-7d49-4dbf-a3d2-56f6b6ea59b0", "rel": "bookmark"}], "flavor_id": "test_flavor", "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} +{"id": 12, "uuid": "808a6271-9b95-44a5-a03b-e7d919681dbf", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/808a6271-9b95-44a5-a03b-e7d919681dbf", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/808a6271-9b95-44a5-a03b-e7d919681dbf", "rel": "bookmark"}], "flavor_id": "test_flavor", "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -13476,7 +12949,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"id": 12, "uuid": "f54cf1d0-9137-44b8-8232-913a5d6f00a2", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/f54cf1d0-9137-44b8-8232-913a5d6f00a2", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/f54cf1d0-9137-44b8-8232-913a5d6f00a2", "rel": "bookmark"}], "flavor_id": null, "image_id": "test_image", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} +{"id": 12, "uuid": "400377ce-f406-4409-b435-e3bd0d350a51", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/400377ce-f406-4409-b435-e3bd0d350a51", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/400377ce-f406-4409-b435-e3bd0d350a51", "rel": "bookmark"}], "flavor_id": null, "image_id": "test_image", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': {'label1': 'value1'}, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -13484,7 +12957,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"id": 12, "uuid": "57bdc4ac-8cf0-43cb-85c3-ca3a7d4b1859", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {"label1": "value1"}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/57bdc4ac-8cf0-43cb-85c3-ca3a7d4b1859", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/57bdc4ac-8cf0-43cb-85c3-ca3a7d4b1859", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {"label1": "value1"}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} +{"id": 12, "uuid": "895a8d33-dccf-403a-b4b2-3baaa2bb9106", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {"label1": "value1"}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/895a8d33-dccf-403a-b4b2-3baaa2bb9106", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/895a8d33-dccf-403a-b4b2-3baaa2bb9106", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {"label1": "value1"}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': 5, 'min_node_count': 1, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -13492,68 +12965,344 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"id": 12, "uuid": "348e0004-3d7a-49be-b3d5-976ac6fd614f", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/348e0004-3d7a-49be-b3d5-976ac6fd614f", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/348e0004-3d7a-49be-b3d5-976ac6fd614f", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": 5, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_max_node_count -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_max_node_count ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_role +{"id": 12, "uuid": "cb5b1e3b-5fc5-44a5-b730-1f2ac122fbb6", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/cb5b1e3b-5fc5-44a5-b730-1f2ac122fbb6", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/cb5b1e3b-5fc5-44a5-b730-1f2ac122fbb6", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": 5, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'test-role', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"id": 12, "uuid": "49cad949-9fe5-4d03-93a6-b0c560be2073", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/49cad949-9fe5-4d03-93a6-b0c560be2073", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/49cad949-9fe5-4d03-93a6-b0c560be2073", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "test-role", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_role magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_role ... ok magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_zero_nodes magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_zero_nodes ... ok -magnum.tests.unit.common.x509.test_operations.TestX509Operations.test_generate_csr_and_key -magnum.tests.unit.common.x509.test_operations.TestX509Operations.test_generate_csr_and_key ... ok magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_without_node_count magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_without_node_count ... ok +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_all_stats +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_all_stats ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_invalid_tenant_stats +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_invalid_tenant_stats ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " + +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 {} +GOT:{'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'cluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 2, 'role': 'worker', 'min_node_count': 2, 'max_node_count': 4, 'is_default': False, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2025-01-16T22:54:49.328097+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/max_node_count', 'value': 4, 'op': 'replace'}] +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"id": 12, "uuid": "483203a3-dbee-4a9c-9d65-9820512f4df8", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 2, "role": "worker", "min_node_count": 2, "max_node_count": 4, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2025-01-16T22:54:49.427615+00:00", "updated_at": null} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 {} +GOT:{'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'cluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 2, 'role': 'worker', 'min_node_count': 2, 'max_node_count': 4, 'is_default': False, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2025-01-16T22:54:49.427615+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/max_node_count', 'value': 4, 'op': 'replace'}] +GOT:Response: 406 Not Acceptable +Content-Type: application/json +{"errors": [{"request_id": "", "code": "", "status": 406, "title": "", "detail": "", "links": []}]} +PATCH: /v1/clusters/234214dd-e166-4eac-8ca6-8cc66c68c77a/nodegroups/1c5b2054-27ce-4c43-b74b-cc62bfcfc466 [{'path': '/max_node_count', 'value': 4, 'op': 'replace'}] +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"id": 50, "uuid": "1c5b2054-27ce-4c43-b74b-cc62bfcfc466", "name": "nodegroup1", "cluster_id": "234214dd-e166-4eac-8ca6-8cc66c68c77a", "project_id": "fake", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/234214dd-e166-4eac-8ca6-8cc66c68c77a/nodegroups/1c5b2054-27ce-4c43-b74b-cc62bfcfc466", "rel": "self"}, {"href": "http://localhost/clusters/234214dd-e166-4eac-8ca6-8cc66c68c77a/nodegroups/1c5b2054-27ce-4c43-b74b-cc62bfcfc466", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": 4, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2025-01-16T22:54:49.604905+00:00", "updated_at": null} +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} +GOT:Response: 201 Created +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-01-16T22:54:49.673365+00:00", "updated_at": null} +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': -10} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute hard_limit", "detail": "Invalid input for field/attribute hard_limit. Value: '-10'. Value should be greater or equal to 0", "links": []}]} +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'invalid-res', 'hard_limit': 10} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute resource", "detail": "Invalid input for field/attribute resource. Value: 'invalid-res'. Value should be one of: Cluster", "links": []}]} +POST: /v1/quotas {'id': 42, 'resource': 'Cluster', 'hard_limit': 10} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Must provide a valid project ID", "detail": "Must provide a valid project ID.", "links": []}]} +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "The project_id fake_project could not be found", "detail": "The project_id fake_project could not be found.", "links": []}]} +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 0} +GOT:Response: 201 Created +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"id": 42, "hard_limit": 0, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-01-16T22:54:49.806251+00:00", "updated_at": null}magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_zero_quota +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_zero_quota ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_delete_quota +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_delete_quota ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_empty +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_empty ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_tenants +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_tenants ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_tenants_false +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_tenants_false ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_with_pagination_marker +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_with_pagination_marker ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_not_all_tenants +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_not_all_tenants ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_non_admin +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_non_admin ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_tenant_stats +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_tenant_stats ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_with_non_admin_context +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_with_non_admin_context ... ok +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_empty +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_empty ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_with_pagination_limit +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_with_pagination_limit ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one ... ok +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_invalid_type_stats +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_invalid_type_stats ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_no_config_default +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_no_config_default ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_not_authorized +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_not_authorized ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_self_stats +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_self_stats ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_with_config_default +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_with_config_default ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_self_stats_without_param +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_self_stats_without_param ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_one +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_one ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_some_other_user_stats +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_some_other_user_stats ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_patch_quota +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_patch_quota ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestMultiType.test_invalid_values +magnum.tests.unit.api.controllers.v1.test_types.TestMultiType.test_invalid_values ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestMultiType.test_multitype_tostring +magnum.tests.unit.api.controllers.v1.test_types.TestMultiType.test_multitype_tostring ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_patch_quota_not_found +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_patch_quota_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuotaObject.test_quota_init +magnum.tests.unit.api.controllers.v1.test_quota.TestQuotaObject.test_quota_init ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestMultiType.test_valid_values +magnum.tests.unit.api.controllers.v1.test_types.TestMultiType.test_valid_values ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_frombasetype_no_value +magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_frombasetype_no_value ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_frombasetype +magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_frombasetype ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_invalid_value +magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_invalid_value ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_frombasetype_no_value +magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_frombasetype_no_value ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_valid_false_values +magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_valid_false_values ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_invalid_name +magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_invalid_name ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_valid_true_values +magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_valid_true_values ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_valid_name +magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_valid_name ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_invalid_single_dns +magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_invalid_single_dns ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestUuidType.test_invalid_uuid +magnum.tests.unit.api.controllers.v1.test_types.TestUuidType.test_invalid_uuid ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_valid_multi_dns +magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_valid_multi_dns ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestUuidType.test_valid_uuid +magnum.tests.unit.api.controllers.v1.test_types.TestUuidType.test_valid_uuid ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_valid_single_dns +magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_valid_single_dns ... ok +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch ... ok +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_add_attr_already_exist +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_add_attr_already_exist ... ok +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_add_attr_not_exist +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_add_attr_not_exist ... ok +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_by_name +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_by_name ... ok magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_add_internal_attr magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_add_internal_attr ... ok +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_by_uuid +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_by_uuid ... ok magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_add_with_no_value magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_add_with_no_value ... ok +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_multi_exist +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_multi_exist ... ok magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_extra_non_removable_attr magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_extra_non_removable_attr ... ok +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_non_exist +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_non_exist ... ok magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_internal_attr magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_internal_attr ... ok +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_resource_with_name +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_resource_with_name ... ok magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_mandatory_attr magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_mandatory_attr ... ok +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_resource_with_uuid +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_resource_with_uuid ... ok magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_replace_with_no_value magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_replace_with_no_value ... ok +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_limit +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_limit ... ok +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_sort_dir +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_sort_dir ... ok +magnum.tests.unit.api.test_expose.TestExpose.test_expose_with_rest_content_types +magnum.tests.unit.api.test_expose.TestExpose.test_expose_with_rest_content_types ... ok +magnum.tests.unit.api.test_expose.TestExpose.test_expose_without_rest_content_types +magnum.tests.unit.api.test_expose.TestExpose.test_expose_without_rest_content_types ... ok +magnum.tests.unit.api.test_hooks.TestContextHook.test_context_hook_before_method +magnum.tests.unit.api.test_hooks.TestContextHook.test_context_hook_before_method ... ok +magnum.tests.unit.api.test_hooks.TestContextHook.test_context_hook_before_method_auth_info +magnum.tests.unit.api.test_hooks.TestContextHook.test_context_hook_before_method_auth_info ... ok magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_update_internal_attr magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_update_internal_attr ... ok magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_invalid_op magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_invalid_op ... ok +magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_exception_success +magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_exception_success ... ok magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_invalid_path magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_invalid_path ... ok magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_missing_required_fields_op magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_missing_required_fields_op ... ok +magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_remote_error_success +magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_remote_error_success ... ok magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_missing_required_fields_path magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_missing_required_fields_path ... ok +magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_server_debug_on_clientfault +magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_server_debug_on_clientfault ... ok magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_update_mandatory_attr magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_update_mandatory_attr ... ok +magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_server_debug_on_serverfault +magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_server_debug_on_serverfault ... ok magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_valid_patches magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_valid_patches ... ok +magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback +magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_cluster_type_not_supported +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_cluster_type_not_supported ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_cluster_type_supported +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_cluster_type_supported ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_all_allowed_create +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_all_allowed_create ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_all_allowed_update +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_all_allowed_update ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_default_config_create +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_default_config_create ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_default_create +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_default_create ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_default_invalid_create +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_default_invalid_create ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_invalid_coe_create +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_invalid_coe_create ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_not_allowed_create +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_not_allowed_create ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_not_allowed_update +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_not_allowed_update ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_one_allowed_create +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_one_allowed_create ... ok magnum.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_frombasetype magnum.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_frombasetype ... ok magnum.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_frombasetype_no_value magnum.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_frombasetype_no_value ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_one_allowed_update +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_one_allowed_update ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_two_allowed_create +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_two_allowed_create ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_two_allowed_update +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_two_allowed_update ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_server_type_invalid +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_server_type_invalid ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_server_type_valid_bm +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_server_type_valid_bm ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_server_type_valid_vm +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_server_type_valid_vm ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_invalid_create +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_invalid_create ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_not_supported_add_update +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_not_supported_add_update ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_not_supported_replace_update +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_not_supported_replace_update ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_remove_update +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_remove_update ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_supported_add_update +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_supported_add_update ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_supported_replace_update +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_supported_replace_update ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_valid_create +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_valid_create ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_validate_cluster_properties +magnum.tests.unit.api.test_validation.TestValidation.test_validate_cluster_properties ... ok magnum.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_invalid_mac_addr magnum.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_invalid_mac_addr ... ok magnum.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_valid_mac_addr magnum.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_valid_mac_addr ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestMultiType.test_invalid_values -magnum.tests.unit.api.controllers.v1.test_types.TestMultiType.test_invalid_values ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestMultiType.test_multitype_tostring -magnum.tests.unit.api.controllers.v1.test_types.TestMultiType.test_multitype_tostring ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestMultiType.test_valid_values -magnum.tests.unit.api.controllers.v1.test_types.TestMultiType.test_valid_values ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_frombasetype -magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_frombasetype ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_frombasetype_no_value -magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_frombasetype_no_value ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_invalid_name -magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_invalid_name ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_valid_name -magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_valid_name ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestUuidType.test_invalid_uuid -magnum.tests.unit.api.controllers.v1.test_types.TestUuidType.test_invalid_uuid ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestUuidType.test_valid_uuid -magnum.tests.unit.api.controllers.v1.test_types.TestUuidType.test_valid_uuid ... ok magnum.tests.unit.api.test_app.TestAppConfig.test_get_pecan_config magnum.tests.unit.api.test_app.TestAppConfig.test_get_pecan_config ... ok magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_external_network_with_invalid_network @@ -13588,6 +13337,8 @@ magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_image_with_multi_images_same_name ... ok magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_image_with_nonexist_image_by_id magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_image_with_nonexist_image_by_id ... ok +magnum.tests.unit.cmd.test_conductor.TestMagnumConductor.test_conductor +magnum.tests.unit.cmd.test_conductor.TestMagnumConductor.test_conductor ... ok magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_image_with_nonexist_image_by_name magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_image_with_nonexist_image_by_name ... ok magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_image_with_valid_image_by_id @@ -13614,52 +13365,104 @@ magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_os_resources_with_valid_fixed_subnet ... ok magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_os_resources_without_validator magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_os_resources_without_validator ... ok -magnum.tests.unit.api.test_expose.TestExpose.test_expose_with_rest_content_types -magnum.tests.unit.api.test_expose.TestExpose.test_expose_with_rest_content_types ... ok -magnum.tests.unit.api.test_expose.TestExpose.test_expose_without_rest_content_types -magnum.tests.unit.api.test_expose.TestExpose.test_expose_without_rest_content_types ... ok -magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_exception_success -magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_exception_success ... ok -magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_remote_error_success -magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_remote_error_success ... ok -magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_server_debug_on_clientfault -magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_server_debug_on_clientfault ... ok -magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_server_debug_on_serverfault -magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_server_debug_on_serverfault ... ok -magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback -magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback ... ok -magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_http -magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_http ... ok -magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_http_config_workers -magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_http_config_workers ... ok -magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https -magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https ... ok -magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https_no_cert -magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https_no_cert ... ok -magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https_no_key -magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https_no_key ... ok -magnum.tests.unit.cmd.test_conductor.TestMagnumConductor.test_conductor -magnum.tests.unit.cmd.test_conductor.TestMagnumConductor.test_conductor ... ok magnum.tests.unit.cmd.test_conductor.TestMagnumConductor.test_conductor_config_workers magnum.tests.unit.cmd.test_conductor.TestMagnumConductor.test_conductor_config_workers ... ok -magnum.tests.unit.cmd.test_status.TestUpgradeChecks.test_checks -magnum.tests.unit.cmd.test_status.TestUpgradeChecks.test_checks ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive ... ok +magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_revision +magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_revision ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_all_three +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_all_three ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_created +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_created ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_latest_update +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_latest_update ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_updated +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_updated ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_check_type +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_check_type ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_all_three +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_all_three ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_create +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_create ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_old_update +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_old_update ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_update +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_update ... ok +magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_stamp +magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_stamp ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_forced_down +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_forced_down ... ok +magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_upgrade +magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_upgrade ... ok +magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_http +magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_http ... ok +magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_version +magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_version ... ok magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanCert.test_barbican_cert magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanCert.test_barbican_cert ... ok magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanCert.test_barbican_cert_none_values magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanCert.test_barbican_cert_none_values ... ok magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_delete_cert magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_delete_cert ... ok +magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_http_config_workers +magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_http_config_workers ... ok magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_get_cert magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_get_cert ... ok +magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https +magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https ... ok magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_get_cert_no_registration magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_get_cert_no_registration ... ok magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_store_cert magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_store_cert ... ok +magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https_no_cert +magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https_no_cert ... ok magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_store_cert_failure magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_store_cert_failure ... ok +magnum.tests.unit.common.cert_manager.test_cert_manager.TestCert.test_get_decrypted_private_key +magnum.tests.unit.common.cert_manager.test_cert_manager.TestCert.test_get_decrypted_private_key ... ok +magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairCert.test_x509keypair_cert +magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairCert.test_x509keypair_cert ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'fake-uuid'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_delete_cert +magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_delete_cert ... ok +magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https_no_key +magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https_no_key ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'fake-uuid'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_get_cert +magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_get_cert ... ok +magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_store_cert +magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_store_cert ... ok +magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_create_no_permission +magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_create_no_permission ... ok +magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_delete_no_permission +magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_delete_no_permission ... ok +magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_get_all_no_permission +magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_get_all_no_permission ... ok +magnum.tests.unit.cmd.test_driver_manage.TestMagnumDriverManage.test_correct_arg_with_details_and_path +magnum.tests.unit.cmd.test_driver_manage.TestMagnumDriverManage.test_correct_arg_with_details_and_path ... ok +magnum.tests.unit.cmd.test_driver_manage.TestMagnumDriverManage.test_correct_arg_without_details_and_path +magnum.tests.unit.cmd.test_driver_manage.TestMagnumDriverManage.test_correct_arg_without_details_and_path ... ok +magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_get_no_permission +magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_get_no_permission ... ok +magnum.tests.unit.cmd.test_driver_manage.TestMagnumDriverManage.test_none_arg +magnum.tests.unit.cmd.test_driver_manage.TestMagnumDriverManage.test_none_arg ... ok +magnum.tests.unit.cmd.test_status.TestUpgradeChecks.test_checks +magnum.tests.unit.cmd.test_status.TestUpgradeChecks.test_checks ... ok +magnum.tests.unit.common.cert_manager.test_cert_manager.TestCertManager.test_barbican_cert_manager +magnum.tests.unit.common.cert_manager.test_cert_manager.TestCertManager.test_barbican_cert_manager ... ok +magnum.tests.unit.common.cert_manager.test_cert_manager.TestCertManager.test_local_cert_manager +magnum.tests.unit.common.cert_manager.test_cert_manager.TestCertManager.test_local_cert_manager ... ok +magnum.tests.unit.common.cert_manager.test_local.TestLocalCert.test_local_cert +magnum.tests.unit.common.cert_manager.test_local.TestLocalCert.test_local_cert ... ok magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_delete_cert magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_delete_cert ... ok +magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_update_no_permission +magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_update_no_permission ... ok magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_delete_cert_with_fail magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_delete_cert_with_fail ... ok magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_delete_cert_without_intermediate @@ -13670,6 +13473,8 @@ magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert ... ok magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_with_loading_cert_fail magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_with_loading_cert_fail ... ok +magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_create_no_permission +magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_create_no_permission ... ok magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_with_loading_intermediates_fail magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_with_loading_intermediates_fail ... ok magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_with_loading_pkp_fail @@ -13680,137 +13485,124 @@ magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_without_intermediate ... ok magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_without_pkp magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_without_pkp ... ok +magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_delete_no_permission +magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_delete_no_permission ... ok magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_store_cert magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_store_cert ... ok magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_store_cert_with_io_error magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_store_cert_with_io_error ... ok -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'fake-uuid'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_delete_cert -magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_delete_cert ... ok -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'fake-uuid'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_get_cert -magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_get_cert ... ok -magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_store_cert -magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_store_cert ... ok +magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_get_all_no_permission +magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_get_all_no_permission ... ok magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_create_no_permission magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_create_no_permission ... ok +magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_get_no_permission +magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_get_no_permission ... ok magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_get_no_permission magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_get_no_permission ... ok +magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_update_no_permission +magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_update_no_permission ... ok magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_update_no_permission magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_update_no_permission ... ok +magnum.tests.unit.common.policies.test_stats_policy.TestStatsPolicy.test_stat_admin +magnum.tests.unit.common.policies.test_stats_policy.TestStatsPolicy.test_stat_admin ... ok +magnum.tests.unit.common.policies.test_stats_policy.TestStatsPolicy.test_stat_no_permission +magnum.tests.unit.common.policies.test_stats_policy.TestStatsPolicy.test_stat_no_permission ... ok +magnum.tests.unit.common.policies.test_stats_policy.TestStatsPolicy.test_stat_reader +magnum.tests.unit.common.policies.test_stats_policy.TestStatsPolicy.test_stat_reader ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_cached +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_cached ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_noauth +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_noauth ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_region +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_region ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_cached +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_cached ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_noauth +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_noauth ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_region +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_region ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_cached +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_cached ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_noauth +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_noauth ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_region +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_region ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_cached +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_cached ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_noauth +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_noauth ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_region +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_region ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova ... ok magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_create_no_permission magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_create_no_permission ... ok magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_delete_no_permission magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_delete_no_permission ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_cached +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_cached ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_noauth +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_noauth ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_region +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_region ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_magnum_url +magnum.tests.unit.common.test_clients.ClientsTest.test_magnum_url ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_url_for +magnum.tests.unit.common.test_clients.ClientsTest.test_url_for ... ok magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_get_all_no_permission magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_get_all_no_permission ... ok +magnum.tests.unit.common.test_context.ContextTestCase.test_context +magnum.tests.unit.common.test_context.ContextTestCase.test_context ... ok +magnum.tests.unit.common.test_context.ContextTestCase.test_context_with_roles +magnum.tests.unit.common.test_context.ContextTestCase.test_context_with_roles ... ok magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_get_detail_no_permission magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_get_detail_no_permission ... ok -magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_get_no_permission -magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_get_no_permission ... ok -magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_update_no_permission -magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_update_no_permission ... ok -magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_create_no_permission -magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_create_no_permission ... ok -magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_delete_no_permission -magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_delete_no_permission ... ok -magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_get_all_no_permission -magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_get_all_no_permission ... ok -magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_get_no_permission -magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_get_no_permission ... ok -magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_update_no_permission -magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_update_no_permission ... ok -magnum.tests.unit.common.policies.test_stats_policy.TestStatsPolicy.test_stat_admin -magnum.tests.unit.common.policies.test_stats_policy.TestStatsPolicy.test_stat_admin ... ok - -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'test-role', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"id": 12, "uuid": "7ff6d4c1-8c68-4a09-b1d1-4a7cc887c5ce", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/7ff6d4c1-8c68-4a09-b1d1-4a7cc887c5ce", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/7ff6d4c1-8c68-4a09-b1d1-4a7cc887c5ce", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "test-role", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 0, 'role': 'worker', 'max_node_count': None, 'min_node_count': 0, 'merge_labels': False} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"id": 12, "uuid": "efb06e44-2dfc-46ea-b6a1-6992099c0265", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/efb06e44-2dfc-46ea-b6a1-6992099c0265", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/efb06e44-2dfc-46ea-b6a1-6992099c0265", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 0, "role": "worker", "min_node_count": 0, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"id": 12, "uuid": "7a8d01bc-82db-4b43-8e5c-541a508f9693", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/7a8d01bc-82db-4b43-8e5c-541a508f9693", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/7a8d01bc-82db-4b43-8e5c-541a508f9693", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 1, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} -GET: / {} -GOT:Response: 500 Internal Server Error -Content-Type: application/json -{"errors": [{"request_id": "", "code": "server", "status": 500, "title": "Test exception message", "detail": "Test exception message.", "links": []}]} -GET: / {} -GOT:Response: 500 Internal Server Error -Content-Type: application/json -{"errors": [{"request_id": "", "code": "server", "status": 500, "title": "Remote error: TestException Test exception message", "detail": "Remote error: TestException Test exception message.\n['", "links": []}]} -GET: / {} -GOT:Response: 400 Bad Request -Content-Type: application/json -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Test exception message", "detail": "Test exception message.\nTraceback (most recent call last):\n File \"/opt/stack/magnum/magnum/openstack/common/rpc/amqp.py\", line 434, in _process_data\\n **args)\n File \"/opt/stack/magnum/magnum/openstack/common/rpc/dispatcher.py\", line 172, in dispatch\\n result = getattr(proxyobj, method)(context, **kwargs)", "links": []}]} -GET: / {} -GOT:Response: 500 Internal Server Error -Content-Type: application/json -{"errors": [{"request_id": "", "code": "server", "status": 500, "title": "Test exception message", "detail": "Test exception message.", "links": []}]} -GET: / {} -GOT:Response: 500 Internal Server Error -Content-Type: application/json -{"errors": [{"request_id": "", "code": "server", "status": 500, "title": "Error message without traceback \n but \n multiline", "detail": "Error message without traceback \n but \n multiline", "links": []}]} -POST: /v1/certificates {'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'csr': 'fake-csr'} -GET: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -PATCH: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -POST: /v1/clustertemplates {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'clustermodel1', 'image_id': 'ubuntu', 'flavor_id': 'm1.small', 'master_flavor_id': 'm1.small', 'keypair_id': 'keypair1', 'external_network_id': 'd1f02cfb-d27f-4068-9332-84d907cb0e2e', 'fixed_network': 'private', 'fixed_subnet': 'private-subnet', 'network_driver': None, 'volume_driver': None, 'dns_nameserver': '8.8.1.1', 'apiserver_port': 8080, 'docker_volume_size': 20, 'docker_storage_driver': 'devicemapper', 'cluster_distro': 'fedora-coreos', 'coe': 'kubernetes', 'labels': {'key1': 'val1', 'key2': 'val2'}, 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'registry_enabled': False, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'hidden': False, 'tags': '', 'driver': ''} -DELETE: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 -GET: /v1/clustertemplates {} -GET: /v1/clustertemplates/detail {} -GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/dns_nameserver', 'op': 'remove'}] -POST: /v1/clusters/07f994fe-a54c-452d-8064-6b8bc4c3d02f/nodegroups/ {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} -DELETE: /v1/clusters/435f3b3d-be79-4e31-96c7-a85f5b14527b/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 -GET: /v1/clusters/c09dba31-2ba5-470b-9fe3-5a17b665782b/nodegroups/ {} -GET: /v1/clusters/0af1e751-949a-4a69-870a-d8b4cc943997/nodegroups/foo {} -PATCH: /v1/clusters/7a55b0df-2022-4f48-bb3f-ee19f0385c25/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 [{'path': '/max_node_count', 'value': 4, 'op': 'replace'}] -GET: /v1/stats {} -GOT:{'clusters': 0, 'nodes': 0} -GET: /v1/stats {}magnum.tests.unit.common.policies.test_stats_policy.TestStatsPolicy.test_stat_no_permission -magnum.tests.unit.common.policies.test_stats_policy.TestStatsPolicy.test_stat_no_permission ... ok -magnum.tests.unit.common.policies.test_stats_policy.TestStatsPolicy.test_stat_reader -magnum.tests.unit.common.policies.test_stats_policy.TestStatsPolicy.test_stat_reader ... ok +magnum.tests.unit.common.test_context.ContextTestCase.test_request_context_sets_is_admin +magnum.tests.unit.common.test_context.ContextTestCase.test_request_context_sets_is_admin ... ok +magnum.tests.unit.common.test_context.ContextTestCase.test_to_dict_from_dict +magnum.tests.unit.common.test_context.ContextTestCase.test_to_dict_from_dict ... ok magnum.tests.unit.common.test_exception.TestException.test_all_exceptions magnum.tests.unit.common.test_exception.TestException.test_all_exceptions ... ok magnum.tests.unit.common.test_exception.TestException.test_custom_message_is_templated magnum.tests.unit.common.test_exception.TestException.test_custom_message_is_templated ... ok magnum.tests.unit.common.test_exception.TestException.test_message_is_templated magnum.tests.unit.common.test_exception.TestException.test_message_is_templated ... ok +magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_get_no_permission +magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_get_no_permission ... ok magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_access_info magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_access_info ... ok magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_no_credentials magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_no_credentials ... ok +magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_update_no_permission +magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_update_no_permission ... ok magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_password magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_password ... ok +magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_create_no_permission +magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_create_no_permission ... ok magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_password_legacy magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_password_legacy ... ok magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_token magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_token ... ok +magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_delete_no_permission +magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_delete_no_permission ... ok magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_create_trust_with_all_roles magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_create_trust_with_all_roles ... ok +magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_detail_list_no_permission +magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_detail_list_no_permission ... ok magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_create_trust_with_limit_roles magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_create_trust_with_limit_roles ... ok magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_create_trustee magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_create_trustee ... ok +magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_get_no_permission +magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_get_no_permission ... ok magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_delete_trust magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_delete_trust ... ok magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_delete_trust_not_found @@ -13823,44 +13615,264 @@ magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_get_validate_region_name_not_found ... ok magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_trustee_domain_id magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_trustee_domain_id ... ok -magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers -magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers ... ok -magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_already_deleted -magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_already_deleted ... ok -magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_no_candidate -magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_no_candidate ... ok -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_has_publickey -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_has_publickey ... ok -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_extentions_as_ca -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_extentions_as_ca ... ok -magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_timeout -magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_timeout ... ok -magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_with_stack_not_found -magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_with_stack_not_found ... ok +magnum.tests.unit.common.test_profiler.TestProfiler.test_all_public_methods_are_traced +magnum.tests.unit.common.test_profiler.TestProfiler.test_all_public_methods_are_traced ... ok +magnum.tests.unit.common.test_profiler.TestProfiler.test_setup_profiler +magnum.tests.unit.common.test_profiler.TestProfiler.test_setup_profiler ... ok +magnum.tests.unit.common.test_profiler.TestProfiler.test_setup_profiler_without_osprofiler +magnum.tests.unit.common.test_profiler.TestProfiler.test_setup_profiler_without_osprofiler ... ok +magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_context +magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_context ... ok + +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} +GOT:Response: 201 Created +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-01-16T22:54:49.838402+00:00", "updated_at": null} +DELETE: /v1/quotas/fake_project/Cluster +GOT:Response: 204 No Content +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version + +GET: /v1/quotas/fake_project/Cluster {} +GOT:Response: 200 OK +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"hard_limit": 20, "project_id": "fake_project", "resource": "Cluster"} +GET: /v1/quotas {} +GOT:{'quotas': []} +GET: /v1/quotas?all_tenants=True {} +GOT:{'quotas': [{'id': 1, 'hard_limit': 10, 'project_id': 'proj-id-0', 'resource': 'Cluster', 'created_at': '2025-01-16T22:54:49.905963+00:00', 'updated_at': None}, {'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2025-01-16T22:54:49.907276+00:00', 'updated_at': None}, {'id': 3, 'hard_limit': 10, 'project_id': 'proj-id-2', 'resource': 'Cluster', 'created_at': '2025-01-16T22:54:49.909582+00:00', 'updated_at': None}, {'id': 4, 'hard_limit': 10, 'project_id': 'proj-id-3', 'resource': 'Cluster', 'created_at': '2025-01-16T22:54:49.910855+00:00', 'updated_at': None}]} +GET: /v1/quotas?all_tenants=False {} +GOT:{'quotas': [{'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2025-01-16T22:54:49.941082+00:00', 'updated_at': None}]} +GET: /v1/quotas?limit=3&marker=3&all_tenants=True {} +GOT:{'quotas': [{'id': 4, 'hard_limit': 10, 'project_id': 'proj-id-3', 'resource': 'Cluster', 'created_at': '2025-01-16T22:54:49.976419+00:00', 'updated_at': None}]} +GET: /v1/quotas {} +GOT:{'quotas': [{'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2025-01-16T22:54:50.010031+00:00', 'updated_at': None}]} +GET: /v1/quotas {} +GOT:{'quotas': [{'id': 3, 'hard_limit': 10, 'project_id': 'proj-id-2', 'resource': 'Cluster', 'created_at': '2025-01-16T22:54:50.045620+00:00', 'updated_at': None}]} +GET: /v1/quotas?all_tenants=True {} +GOT:{'quotas': []} +GET: /v1/quotas?limit=2&all_tenants=True {} +GOT:{'quotas': [{'id': 1, 'hard_limit': 10, 'project_id': 'proj-id-0', 'resource': 'Cluster', 'created_at': '2025-01-16T22:54:50.111839+00:00', 'updated_at': None}, {'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2025-01-16T22:54:50.113120+00:00', 'updated_at': None}], 'next': 'http://localhost/v1/quotas?sort_key=id&sort_dir=asc&limit=2&marker=2'} +GET: /v1/quotas/fake_project/Cluster {} +GOT:{'id': 1, 'hard_limit': 10, 'project_id': 'fake_project', 'resource': 'Cluster', 'created_at': '2025-01-16T22:54:50.145309+00:00', 'updated_at': None} +GET: /v1/quotas/fake_project/Cluster {} +GOT:Response: 200 OK +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"hard_limit": 20, "project_id": "fake_project", "resource": "Cluster"} +GET: /v1/quotas/invalid_proj/invalid_res {} +GOT:Response: 403 Forbidden +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Not authorized", "detail": "Not authorized.", "links": []}]} +GET: /v1/quotas/fake_project/Cluster {} +GOT:Response: 200 OK +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"hard_limit": 15, "project_id": "fake_project", "resource": "Cluster"} +GET: /v1/quotas {} +GOT:{'quotas': [{'id': 1, 'hard_limit': 10, 'project_id': 'fake_project', 'resource': 'Cluster', 'created_at': '2025-01-16T22:54:50.266967+00:00', 'updated_at': None}]} +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 5} +GOT:Response: 201 Created +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"id": 42, "hard_limit": 5, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-01-16T22:54:50.306024+00:00", "updated_at": null} +PATCH: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 20} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"id": 42, "hard_limit": 20, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-01-16T22:54:50.306024+00:00", "updated_at": "2025-01-16T22:54:50.316663+00:00"} +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} +GOT:Response: 201 Created +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-01-16T22:54:50.346416+00:00", "updated_at": null} +PATCH: /v1/quotas {'project_id': 'not-found', 'hard_limit': 20, 'resource': 'Cluster'} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Quota could not be found: project_id not-found resource Cluster", "detail": "Quota could not be found: project_id not-found resource Cluster.", "links": []}]} +POST: /v1/certificates {'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'csr': 'fake-csr'} +GET: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +PATCH: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +POST: /v1/clustertemplates {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'clustermodel1', 'image_id': 'ubuntu', 'flavor_id': 'm1.small', 'master_flavor_id': 'm1.small', 'keypair_id': 'keypair1', 'external_network_id': 'd1f02cfb-d27f-4068-9332-84d907cb0e2e', 'fixed_network': 'private', 'fixed_subnet': 'private-subnet', 'network_driver': None, 'volume_driver': None, 'dns_nameserver': '8.8.1.1', 'apiserver_port': 8080, 'docker_volume_size': 20, 'docker_storage_driver': 'devicemapper', 'cluster_distro': 'fedora-coreos', 'coe': 'kubernetes', 'labels': {'key1': 'val1', 'key2': 'val2'}, 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'registry_enabled': False, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'hidden': False, 'tags': '', 'driver': ''} +DELETE: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 +GET: /v1/clustertemplates {} +GET: /v1/clustertemplates/detail {} +GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/dns_nameserver', 'op': 'remove'}] +POST: /v1/federations {} +DELETE: /v1/federations/9cb4b2ca-2164-44f8-8ac1-d12400d95635 +GET: /v1/federations/detail {} +GET: /v1/federations {} +GET: /v1/federations {} +GOT:{'federations': [{'uuid': '466895ad-0b17-4385-a238-309a024fedff', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/466895ad-0b17-4385-a238-309a024fedff', 'rel': 'self'}, {'href': 'http://localhost/federations/466895ad-0b17-4385-a238-309a024fedff', 'rel': 'bookmark'}]}]}magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_get_reader +magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_get_reader ... ok +magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity +magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity ... ok +magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity_null_base +magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity_null_base ... ok +magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_update_no_permission +magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_update_no_permission ... ok +magnum.tests.unit.common.policies.test_magnum_service_policy.TestMagnumServicePolicy.test_get_all_no_permission +magnum.tests.unit.common.policies.test_magnum_service_policy.TestMagnumServicePolicy.test_get_all_no_permission ... ok +magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_create_no_permission +magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_create_no_permission ... ok +magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_delete_no_permission +magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_delete_no_permission ... ok +magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_get_all_no_permission +magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_get_all_no_permission ... ok +magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_get_no_permission +magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_get_no_permission ... ok +magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_context +magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_context ... ok +magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity +magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity ... ok +magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity_null_base +magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity_null_base ... ok +magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_update_no_permission +magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_update_no_permission ... ok magnum.tests.unit.common.test_rpc.TestRpc.test_add_extra_exmods magnum.tests.unit.common.test_rpc.TestRpc.test_add_extra_exmods ... ok +magnum.tests.unit.common.test_neutron.NeutronTest.test_delete_floatingip +magnum.tests.unit.common.test_neutron.NeutronTest.test_delete_floatingip ... ok magnum.tests.unit.common.test_rpc.TestRpc.test_cleanup magnum.tests.unit.common.test_rpc.TestRpc.test_cleanup ... ok +magnum.tests.unit.common.test_neutron.NeutronTest.test_delete_floatingip_empty +magnum.tests.unit.common.test_neutron.NeutronTest.test_delete_floatingip_empty ... ok magnum.tests.unit.common.test_rpc.TestRpc.test_cleanup_notifier_null magnum.tests.unit.common.test_rpc.TestRpc.test_cleanup_notifier_null ... ok +magnum.tests.unit.common.test_neutron.NeutronTest.test_delete_floatingip_exception +magnum.tests.unit.common.test_neutron.NeutronTest.test_delete_floatingip_exception ... ok magnum.tests.unit.common.test_rpc.TestRpc.test_cleanup_transport_null magnum.tests.unit.common.test_rpc.TestRpc.test_cleanup_transport_null ... ok +magnum.tests.unit.common.test_neutron.NeutronTest.test_get_external_network_id +magnum.tests.unit.common.test_neutron.NeutronTest.test_get_external_network_id ... ok magnum.tests.unit.common.test_rpc.TestRpc.test_clear_extra_exmods magnum.tests.unit.common.test_rpc.TestRpc.test_clear_extra_exmods ... ok +magnum.tests.unit.common.test_neutron.NeutronTest.test_get_external_network_id_conflict +magnum.tests.unit.common.test_neutron.NeutronTest.test_get_external_network_id_conflict ... ok magnum.tests.unit.common.test_rpc.TestRpc.test_get_client magnum.tests.unit.common.test_rpc.TestRpc.test_get_client ... ok +magnum.tests.unit.common.test_neutron.NeutronTest.test_get_external_network_id_notfound +magnum.tests.unit.common.test_neutron.NeutronTest.test_get_external_network_id_notfound ... ok magnum.tests.unit.common.test_rpc.TestRpc.test_get_client_profiler_enabled magnum.tests.unit.common.test_rpc.TestRpc.test_get_client_profiler_enabled ... ok magnum.tests.unit.common.test_rpc.TestRpc.test_get_server magnum.tests.unit.common.test_rpc.TestRpc.test_get_server ... ok +magnum.tests.unit.common.test_neutron.NeutronTest.test_get_fixed_network_name +magnum.tests.unit.common.test_neutron.NeutronTest.test_get_fixed_network_name ... ok magnum.tests.unit.common.test_rpc.TestRpc.test_get_server_profiler_enabled magnum.tests.unit.common.test_rpc.TestRpc.test_get_server_profiler_enabled ... ok +magnum.tests.unit.common.test_neutron.NeutronTest.test_get_fixed_network_name_notfound +magnum.tests.unit.common.test_neutron.NeutronTest.test_get_fixed_network_name_notfound ... ok magnum.tests.unit.common.test_rpc.TestRpc.test_get_transport_url magnum.tests.unit.common.test_rpc.TestRpc.test_get_transport_url ... ok +magnum.tests.unit.common.test_neutron.NeutronTest.test_get_fixed_subnet_id +magnum.tests.unit.common.test_neutron.NeutronTest.test_get_fixed_subnet_id ... ok +magnum.tests.unit.common.test_neutron.NeutronTest.test_get_fixed_subnet_id_conflict +magnum.tests.unit.common.test_neutron.NeutronTest.test_get_fixed_subnet_id_conflict ... ok magnum.tests.unit.common.test_rpc.TestRpc.test_get_transport_url_null magnum.tests.unit.common.test_rpc.TestRpc.test_get_transport_url_null ... ok +magnum.tests.unit.common.test_neutron.NeutronTest.test_get_fixed_subnet_id_notfound +magnum.tests.unit.common.test_neutron.NeutronTest.test_get_fixed_subnet_id_notfound ... ok magnum.tests.unit.common.test_rpc.TestRpc.test_serialize_entity magnum.tests.unit.common.test_rpc.TestRpc.test_serialize_entity ... ok +magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers +magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers ... ok +magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_already_deleted +magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_already_deleted ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_check_exit_code_boolean +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_check_exit_code_boolean ... ok +magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_no_candidate +magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_no_candidate ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_get_root_helper +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_get_root_helper ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_without_root_helper +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_without_root_helper ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_no_retry_on_success +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_no_retry_on_success ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_retry_on_failure +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_retry_on_failure ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_safe_rstrip +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_safe_rstrip ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_safe_rstrip_not_raises_exceptions +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_safe_rstrip_not_raises_exceptions ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_unknown_kwargs_raises_error +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_unknown_kwargs_raises_error ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_validate_and_normalize_mac +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_validate_and_normalize_mac ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_validate_and_normalize_mac_invalid_format +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_validate_and_normalize_mac_invalid_format ... ok +magnum.tests.unit.common.test_utils.GeneratePasswordTestCase.test_generate_password +magnum.tests.unit.common.test_utils.GeneratePasswordTestCase.test_generate_password ... ok +magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir +magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir ... ok +magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked +magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked ... ok +magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked_error_on_rmtree +magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked_error_on_rmtree ... ok +magnum.tests.unit.common.test_utils.UtilsTestCase.test_get_k8s_quantity +magnum.tests.unit.common.test_utils.UtilsTestCase.test_get_k8s_quantity ... ok +magnum.tests.unit.common.test_utils.UtilsTestCase.test_get_openstasck_ca +magnum.tests.unit.common.test_utils.UtilsTestCase.test_get_openstasck_ca ... ok +magnum.tests.unit.common.x509.test_operations.TestX509Operations.test_decrypt_key +magnum.tests.unit.common.x509.test_operations.TestX509Operations.test_decrypt_key ... ok +magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_timeout +magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_timeout ... ok +magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_with_stack_not_found +magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_with_stack_not_found ... ok +magnum.tests.unit.common.test_policy.TestPolicy.test_check_is_admin_with_admin_context_succeeds +magnum.tests.unit.common.test_policy.TestPolicy.test_check_is_admin_with_admin_context_succeeds ... ok +magnum.tests.unit.common.test_policy.TestPolicy.test_check_is_admin_with_user_context_fails +magnum.tests.unit.common.test_policy.TestPolicy.test_check_is_admin_with_user_context_fails ... ok +magnum.tests.unit.common.test_rpc.TestProfilerRequestContextSerializer.test_deserialize_context +magnum.tests.unit.common.test_rpc.TestProfilerRequestContextSerializer.test_deserialize_context ... ok +magnum.tests.unit.common.test_rpc.TestProfilerRequestContextSerializer.test_serialize_context +magnum.tests.unit.common.test_rpc.TestProfilerRequestContextSerializer.test_serialize_context ... ok +/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method + warnings.warn("TestResult has no addDuration method", +magnum.tests.unit.common.test_service.TestMagnumService.test_prepare_service_with_argv_none +magnum.tests.unit.common.test_service.TestMagnumService.test_prepare_service_with_argv_none ... ok +magnum.tests.unit.common.test_service.TestMagnumService.test_prepare_service_with_argv_not_none +magnum.tests.unit.common.test_service.TestMagnumService.test_prepare_service_with_argv_not_none ... ok magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_12 magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_12 ... ok magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_16 @@ -13883,12 +13895,12 @@ magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_endianness ... ok magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_f magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_f ... ok -magnum.tests.unit.common.test_utils.UtilsTestCase.test_get_k8s_quantity -magnum.tests.unit.common.test_utils.UtilsTestCase.test_get_k8s_quantity ... ok -magnum.tests.unit.common.test_utils.UtilsTestCase.test_get_openstasck_ca -magnum.tests.unit.common.test_utils.UtilsTestCase.test_get_openstasck_ca ... ok -/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", +magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get +magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get ... ok +magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get_exceed_manifest_size +magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get_exceed_manifest_size ... ok +magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get_unsupported_scheme +magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get_unsupported_scheme ... ok magnum.tests.unit.common.x509.test_validator.TestValidators.test_disallow_ca_in_basic_constraints magnum.tests.unit.common.x509.test_validator.TestValidators.test_disallow_ca_in_basic_constraints ... ok magnum.tests.unit.common.x509.test_validator.TestValidators.test_disallow_ca_in_basic_constraints_not_critical @@ -13915,104 +13927,131 @@ magnum.tests.unit.common.x509.test_validator.TestValidators.test_remove_ca_key_usage_crl_sign ... ok magnum.tests.unit.common.x509.test_validator.TestValidators.test_remove_ca_key_usage_without_ca_usage magnum.tests.unit.common.x509.test_validator.TestValidators.test_remove_ca_key_usage_without_ca_usage ... ok -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_create_client_files_in_cache -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_create_client_files_in_cache ... ok -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_create_client_files_notin_cache -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_create_client_files_notin_cache ... ok -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_create_client_files_set_file_permissions -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_create_client_files_set_file_permissions ... ok -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_create_client_files_temp_no_dir -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_create_client_files_temp_no_dir ... ok -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_certificates -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_certificates ... ok -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_certificates_if_raise_error -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_certificates_if_raise_error ... ok -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_certificates_without_cert_ref -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_certificates_without_cert_ref ... ok -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_client_files -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_client_files ... ok -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_client_files_none -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_client_files_none ... ok -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_generate_ca_cert -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_generate_ca_cert ... ok -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_generate_certificates -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_generate_certificates ... ok -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_generate_certificates_with_error -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_generate_certificates_with_error ... ok -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_generate_certificates_without_name -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_generate_certificates_without_name ... ok -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_generate_client_cert -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_generate_client_cert ... ok -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_get_cluster_ca_certificate -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_get_cluster_ca_certificate ... ok -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_get_cluster_ca_certificate_ca_cert_type -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_get_cluster_ca_certificate_ca_cert_type ... ok -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_get_cluster_magnum_cert -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_get_cluster_magnum_cert ... ok -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_sign_node_certificate -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_sign_node_certificate ... ok -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_sign_node_certificate_without_cluster_name -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_sign_node_certificate_without_cluster_name ... ok -magnum.tests.unit.conductor.handlers.test_ca_conductor.TestSignConductor.test_get_ca_certificate -magnum.tests.unit.conductor.handlers.test_ca_conductor.TestSignConductor.test_get_ca_certificate ... ok -magnum.tests.unit.conductor.handlers.test_ca_conductor.TestSignConductor.test_sign_certificate -magnum.tests.unit.conductor.handlers.test_ca_conductor.TestSignConductor.test_sign_certificate ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_delete +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_delete ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_delete_conflict +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_delete_conflict ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_delete_with_lb +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_delete_with_lb ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_resize_failure +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_resize_failure ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_resize_success +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_resize_success ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_handles_bad_request +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_handles_bad_request ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_with_cert_failed +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_with_cert_failed ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_with_environment +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_with_environment ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_with_invalid_unicode_name +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_with_invalid_unicode_name ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_with_trust_failed +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_with_trust_failed ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_adopt_complete +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_adopt_complete ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_check_complete +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_check_complete ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_restore_complete +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_restore_complete ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_resume_complete +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_resume_complete ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_rollback_complete +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_rollback_complete ... ok +magnum.tests.unit.common.x509.test_operations.TestX509Operations.test_generate_csr_and_key +magnum.tests.unit.common.x509.test_operations.TestX509Operations.test_generate_csr_and_key ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_snapshot_complete +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_snapshot_complete ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_update_complete +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_update_complete ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_node_count_failure +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_node_count_failure ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_node_count_success +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_node_count_success ... ok magnum.tests.unit.conductor.handlers.test_conductor_listener.TestHandler.test_ping_conductor magnum.tests.unit.conductor.handlers.test_conductor_listener.TestHandler.test_ping_conductor ... ok +magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_action +magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_action ... ok +magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_action_copies_object +magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_action_copies_object ... ok +magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_action_on_raise +magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_action_on_raise ... ok +magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_class_action +magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_class_action ... ok +magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_class_action_on_raise +magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_class_action_on_raise ... ok +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_create_stack +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_create_stack ... ok +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_create_stack_no_timeout_specified +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_create_stack_no_timeout_specified ... ok +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_create_stack_timeout_is_zero +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_create_stack_timeout_is_zero ... ok +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition ... ok +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_fcos_no_discoveryurl +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_fcos_no_discoveryurl ... ok +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_fcos_with_discovery +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_fcos_with_discovery ... ok +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_only_required +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_only_required ... ok +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_with_registry +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_with_registry ... ok +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_apiserver_port +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_apiserver_port ... ok +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_discovery_url +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_discovery_url ... ok +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_dns +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_dns ... ok +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_docker_storage_driver +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_docker_storage_driver ... ok +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_server_image +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_server_image ... ok +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_update_stack +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_update_stack ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create_failed +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create_failed ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create_failed_bad_request +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create_failed_bad_request ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_failed +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_failed ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_stack_and_ng_not_found +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_stack_and_ng_not_found ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_stack_not_found +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_stack_not_found ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_stack_operation_ongoing +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_stack_operation_ongoing ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_udpate +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_udpate ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_update_failed +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_update_failed ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_update_failed_bad_request +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_update_failed_bad_request ... ok magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_create_stack magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_create_stack ... ok +DEBUG [taskflow.engines.action_engine.completer] Applying resolver 'RevertAll(strategy=REVERT_ALL)' to resolve failure 'Failure: ValueError: ' of atom '"magnum.conductor.tasks.heat_tasks.CreateStack==1.0"' +DEBUG [taskflow.engines.action_engine.completer] Modified/tweaked 1 nodes while applying resolver 'RevertAll(strategy=REVERT_ALL)' +DEBUG [taskflow.engines.action_engine.builder] Discarding failure 'Failure: ValueError: ' (in response to outcome 'executed') under completion units request during completion of atom '"magnum.conductor.tasks.heat_tasks.CreateStack==1.0"' (intention is to REVERT) magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_create_stack_with_error magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_create_stack_with_error ... ok magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_delete_stack magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_delete_stack ... ok +DEBUG [taskflow.engines.action_engine.completer] Applying resolver 'RevertAll(strategy=REVERT_ALL)' to resolve failure 'Failure: ValueError: ' of atom '"magnum.conductor.tasks.heat_tasks.DeleteStack==1.0"' +DEBUG [taskflow.engines.action_engine.completer] Modified/tweaked 1 nodes while applying resolver 'RevertAll(strategy=REVERT_ALL)' +DEBUG [taskflow.engines.action_engine.builder] Discarding failure 'Failure: ValueError: ' (in response to outcome 'executed') under completion units request during completion of atom '"magnum.conductor.tasks.heat_tasks.DeleteStack==1.0"' (intention is to REVERT) magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_delete_stack_with_error magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_delete_stack_with_error ... ok magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_update_stack magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_update_stack ... ok +DEBUG [taskflow.engines.action_engine.completer] Applying resolver 'RevertAll(strategy=REVERT_ALL)' to resolve failure 'Failure: ValueError: ' of atom '"magnum.conductor.tasks.heat_tasks.UpdateStack==1.0"' +DEBUG [taskflow.engines.action_engine.completer] Modified/tweaked 1 nodes while applying resolver 'RevertAll(strategy=REVERT_ALL)' +DEBUG [taskflow.engines.action_engine.builder] Discarding failure 'Failure: ValueError: ' (in response to outcome 'executed') under completion units request during completion of atom '"magnum.conductor.tasks.heat_tasks.UpdateStack==1.0"' (intention is to REVERT) magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_update_stack_with_error magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_update_stack_with_error ... ok -magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_is_magnum_auto_healer_running -magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_is_magnum_auto_healer_running ... ok -magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_compute_cpu_util -magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_compute_cpu_util ... ok -magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_compute_memory_util -magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_compute_memory_util ... ok -magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_get_metric_names -magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_get_metric_names ... ok -magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_get_metric_unit -magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_get_metric_unit ... ok -magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_healthy -magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_healthy ... ok -magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_unhealthy_api -magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_unhealthy_api ... ok -magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_unhealthy_node -magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_unhealthy_node ... ok -magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_unreachable_cluster -magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_unreachable_cluster ... ok -magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_unreachable_with_master_lb -magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_unreachable_with_master_lb ... ok -magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_pull_data_success -magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_pull_data_success ... ok -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_cluster_create -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_cluster_create ... ok -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_cluster_delete -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_cluster_delete ... ok -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_cluster_update -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_cluster_update ... ok -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_ca_certificate -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_ca_certificate ... ok -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_nodegroup_create -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_nodegroup_create ... ok -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_nodegroup_delete -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_nodegroup_delete ... ok -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_nodegroup_update -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_nodegroup_update ... ok -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_ping_conductor -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_ping_conductor ... ok -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_sign_certificate -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_sign_certificate ... ok -magnum.tests.unit.conductor.test_scale_manager.TestK8sScaleManager.test_get_hosts_with_container -magnum.tests.unit.conductor.test_scale_manager.TestK8sScaleManager.test_get_hosts_with_container ... ok magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_context magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_context ... ok magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_domain_project_id @@ -14021,6 +14060,8 @@ magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_domainid ... ok magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_domainid_userid magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_domainid_userid ... ok +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_has_publickey +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_has_publickey ... ok magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_projectid magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_projectid ... ok magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_userid @@ -14041,22 +14082,52 @@ magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_retrieve_cluster_uuid ... ok magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_retrieve_cluster_uuid_from_name magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_retrieve_cluster_uuid_from_name ... ok -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_issuer_name -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_issuer_name ... ok magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_retrieve_cluster_uuid_from_uuid magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_retrieve_cluster_uuid_from_uuid ... ok -magnum.tests.unit.conf.test_conf.ConfTestCase.test_append_config -magnum.tests.unit.conf.test_conf.ConfTestCase.test_append_config ... ok -magnum.tests.unit.conf.test_conf.ConfTestCase.test_import_mods_no_func -magnum.tests.unit.conf.test_conf.ConfTestCase.test_import_mods_no_func ... ok -magnum.tests.unit.conf.test_conf.ConfTestCase.test_import_mods_valid_func -magnum.tests.unit.conf.test_conf.ConfTestCase.test_import_mods_valid_func ... ok -magnum.tests.unit.conf.test_conf.ConfTestCase.test_list_module_name_invalid_mods -magnum.tests.unit.conf.test_conf.ConfTestCase.test_list_module_name_invalid_mods ... ok -magnum.tests.unit.conf.test_conf.ConfTestCase.test_list_module_name_valid_mods -magnum.tests.unit.conf.test_conf.ConfTestCase.test_list_module_name_valid_mods ... ok -magnum.tests.unit.conf.test_conf.ConfTestCase.test_list_opts -magnum.tests.unit.conf.test_conf.ConfTestCase.test_list_opts ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_create_cluster +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_create_cluster ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_create_cluster_already_exists +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_create_cluster_already_exists ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_create_cluster_nullable_cluster_template_id +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_create_cluster_nullable_cluster_template_id ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_destroy_cluster +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_destroy_cluster ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_destroy_cluster_by_id_that_does_not_exist +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_destroy_cluster_by_id_that_does_not_exist ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_destroy_cluster_by_uuid +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_destroy_cluster_by_uuid ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_destroy_cluster_by_uuid_that_does_not_exist +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_destroy_cluster_by_uuid_that_does_not_exist ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_all_cluster_stats +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_all_cluster_stats ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_by_id +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_by_id ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_by_name +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_by_name ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_by_name_multiple_cluster +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_by_name_multiple_cluster ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_by_uuid +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_by_uuid ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list_by_admin_all_tenants +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list_by_admin_all_tenants ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list_cluster_template_not_exist +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list_cluster_template_not_exist ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list_sorted +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list_sorted ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list_with_filters +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list_with_filters ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_that_does_not_exist +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_that_does_not_exist ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_one_tenant_cluster_stats +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_one_tenant_cluster_stats ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_update_cluster +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_update_cluster ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_update_cluster_not_found +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_update_cluster_not_found ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_update_cluster_uuid +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_update_cluster_uuid ... ok magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_create_cluster_template magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_create_cluster_template ... ok magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_create_cluster_template_already_exists @@ -14067,6 +14138,8 @@ magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_destroy_cluster_template_by_uuid ... ok magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_destroy_cluster_template_that_does_not_exist magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_destroy_cluster_template_that_does_not_exist ... ok +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_extentions_as_ca +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_extentions_as_ca ... ok magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_destroy_cluster_template_that_referenced_by_clusters magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_destroy_cluster_template_that_referenced_by_clusters ... ok magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_id @@ -14107,78 +14180,52 @@ magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_update_cluster_template_that_does_not_exist ... ok magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_update_cluster_template_uuid magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_update_cluster_template_uuid ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_create_federation -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_create_federation ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_create_federation_already_exists -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_create_federation_already_exists ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_id_that_does_not_exist -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_id_that_does_not_exist ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_uudid_that_does_not_exist -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_uudid_that_does_not_exist ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_uuid -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_uuid ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_id -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_id ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_name -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_name ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_name_multiple_federation -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_name_multiple_federation ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_uuid -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_uuid ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list_by_admin_all_tenants -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list_by_admin_all_tenants ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list_sorted -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list_sorted ... ok -/build/reproducible-path/magnum-19.0.0/magnum/db/sqlalchemy/api.py:116: SAWarning: TypeDecorator JSONEncodedList() will not produce a cache key because the ``cache_ok`` attribute is not set to True. This can have significant performance implications including some performance degradations in comparison to prior SQLAlchemy versions. Set this attribute to True if this type object's state is safe to use in a cache key, or False to disable this warning. (Background on this warning at: https://sqlalche.me/e/20/cprf) - return query.all() -/build/reproducible-path/magnum-19.0.0/magnum/db/sqlalchemy/api.py:116: SAWarning: TypeDecorator JSONEncodedDict() will not produce a cache key because the ``cache_ok`` attribute is not set to True. This can have significant performance implications including some performance degradations in comparison to prior SQLAlchemy versions. Set this attribute to True if this type object's state is safe to use in a cache key, or False to disable this warning. (Background on this warning at: https://sqlalche.me/e/20/cprf) - return query.all() -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list_with_filters -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list_with_filters ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_that_does_not_exist -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_that_does_not_exist ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_update_federation_members -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_update_federation_members ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_update_federation_not_found -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_update_federation_not_found ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_update_federation_properties -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_update_federation_properties ... ok -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_create_nodegroup -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_create_nodegroup ... ok -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_create_nodegroup_already_exists -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_create_nodegroup_already_exists ... ok -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_create_nodegroup_same_name_different_cluster -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_create_nodegroup_same_name_different_cluster ... ok -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_create_nodegroup_same_name_same_cluster -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_create_nodegroup_same_name_same_cluster ... ok -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_destroy_cluster_by_uuid_that_does_not_exist -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_destroy_cluster_by_uuid_that_does_not_exist ... ok -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_destroy_nodegroup -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_destroy_nodegroup ... ok -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_destroy_nodegroup_by_uuid -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_destroy_nodegroup_by_uuid ... ok -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_cluster_by_uuid -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_cluster_by_uuid ... ok -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_cluster_list_sorted -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_cluster_list_sorted ... ok -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_nodegroup_by_id -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_nodegroup_by_id ... ok -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_nodegroup_by_name -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_nodegroup_by_name ... ok -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_nodegroup_list_with_filters -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_nodegroup_list_with_filters ... ok -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_nodegroup_that_does_not_exist -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_nodegroup_that_does_not_exist ... ok -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_nodegroups_in_cluster -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_nodegroups_in_cluster ... ok -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_update_cluster -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_update_cluster ... ok -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_update_nodegroup_not_found -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_update_nodegroup_not_found ... ok +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_create_magnum_service +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_create_magnum_service ... ok +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_create_magnum_service_failure_for_dup +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_create_magnum_service_failure_for_dup ... ok +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_destroy_magnum_service +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_destroy_magnum_service ... ok +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_destroy_magnum_service_failure +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_destroy_magnum_service_failure ... ok +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_get_magnum_service_by_host_and_binary +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_get_magnum_service_by_host_and_binary ... ok +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_get_magnum_service_by_host_and_binary_failure +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_get_magnum_service_by_host_and_binary_failure ... ok +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_get_magnum_service_list +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_get_magnum_service_list ... ok +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_update_magnum_service +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_update_magnum_service ... ok +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_update_magnum_service_failure +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_update_magnum_service_failure ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_create_quota +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_create_quota ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_create_quota_already_exists +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_create_quota_already_exists ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_delete_quota +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_delete_quota ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_delete_quota_that_does_not_exist +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_delete_quota_that_does_not_exist ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_all +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_all ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_by_project_id_resource +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_by_project_id_resource ... ok +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_issuer_name +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_issuer_name ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_by_project_id_resource_not_found +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_by_project_id_resource_not_found ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_invalid_sort_key +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_invalid_sort_key ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_sorted +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_sorted ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_with_filters +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_with_filters ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_update_quota +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_update_quota ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_update_quota_not_found +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_update_quota_not_found ... ok magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_create_x509keypair magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_create_x509keypair ... ok magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_create_x509keypair_already_exists @@ -14199,56 +14246,28 @@ magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_list_by_admin_all_tenants ... ok magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_that_does_not_exist magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_that_does_not_exist ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_discovery_url -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_discovery_url ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_discovery_url_fail -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_discovery_url_fail ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_discovery_url_not_found -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_discovery_url_not_found ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_heat_param -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_heat_param ... ok -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_subject_name -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_subject_name ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_external_network_id -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_external_network_id ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_insecure -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_insecure ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_octavia_disabled -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_octavia_disabled ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_octavia_enabled -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_octavia_enabled ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_scale_params -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_scale_params ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_validate_discovery_url -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_validate_discovery_url ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_validate_discovery_url_fail -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_validate_discovery_url_fail ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_validate_discovery_url_invalid -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_validate_discovery_url_invalid ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_validate_discovery_url_unexpect_size -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_validate_discovery_url_unexpect_size ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_set_master_lb_allowed_cidrs -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_set_master_lb_allowed_cidrs ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_set_master_lb_allowed_cidrs_find_subnet_cidr -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_set_master_lb_allowed_cidrs_find_subnet_cidr ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_set_master_lb_allowed_cidrs_fixed_subnet_cidr -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_set_master_lb_allowed_cidrs_fixed_subnet_cidr ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_k8s_outputs_api_address -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_k8s_outputs_api_address ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_k8s_outputs_if_cluster_template_is_secure -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_k8s_outputs_if_cluster_template_is_secure ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_k8s_outputs_none_api_address -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_k8s_outputs_none_api_address ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_outputs_master_address -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_outputs_master_address ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_outputs_master_address_fip_disabled -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_outputs_master_address_fip_disabled ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_outputs_node_address -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_outputs_node_address ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_outputs_node_address_fip_disabled -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_outputs_node_address_fip_disabled ... ok +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_create +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_create ... ok +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_destroy +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_destroy ... ok +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_bad_id_and_uuid +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_bad_id_and_uuid ... ok +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_by_id +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_by_id ... ok +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_by_name +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_by_name ... ok +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_by_uuid +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_by_uuid ... ok +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_list +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_list ... ok +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_list_all +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_list_all ... ok +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_list_with_filters +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_list_with_filters ... ok +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_refresh +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_refresh ... ok +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_save +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_save ... ok magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_create magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_create ... ok magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_destroy @@ -14301,30 +14320,18 @@ magnum.tests.unit.objects.test_fields.TestClusterHealthStatus.test_stringify_invalid ... ok magnum.tests.unit.objects.test_fields.TestClusterHealthStatus.test_to_primitive magnum.tests.unit.objects.test_fields.TestClusterHealthStatus.test_to_primitive ... ok -magnum.tests.unit.objects.test_fields.TestClusterStatus.test_coerce_bad_values -magnum.tests.unit.objects.test_fields.TestClusterStatus.test_coerce_bad_values ... ok -magnum.tests.unit.objects.test_fields.TestClusterStatus.test_coerce_good_values -magnum.tests.unit.objects.test_fields.TestClusterStatus.test_coerce_good_values ... ok -magnum.tests.unit.objects.test_fields.TestClusterStatus.test_from_primitive -magnum.tests.unit.objects.test_fields.TestClusterStatus.test_from_primitive ... ok -magnum.tests.unit.objects.test_fields.TestClusterStatus.test_stringify -magnum.tests.unit.objects.test_fields.TestClusterStatus.test_stringify ... ok -magnum.tests.unit.objects.test_fields.TestClusterStatus.test_stringify_invalid -magnum.tests.unit.objects.test_fields.TestClusterStatus.test_stringify_invalid ... ok -magnum.tests.unit.objects.test_fields.TestClusterStatus.test_to_primitive -magnum.tests.unit.objects.test_fields.TestClusterStatus.test_to_primitive ... ok -magnum.tests.unit.objects.test_fields.TestContainerStatus.test_coerce_bad_values -magnum.tests.unit.objects.test_fields.TestContainerStatus.test_coerce_bad_values ... ok -magnum.tests.unit.objects.test_fields.TestContainerStatus.test_coerce_good_values -magnum.tests.unit.objects.test_fields.TestContainerStatus.test_coerce_good_values ... ok -magnum.tests.unit.objects.test_fields.TestContainerStatus.test_from_primitive -magnum.tests.unit.objects.test_fields.TestContainerStatus.test_from_primitive ... ok -magnum.tests.unit.objects.test_fields.TestContainerStatus.test_stringify -magnum.tests.unit.objects.test_fields.TestContainerStatus.test_stringify ... ok -magnum.tests.unit.objects.test_fields.TestContainerStatus.test_stringify_invalid -magnum.tests.unit.objects.test_fields.TestContainerStatus.test_stringify_invalid ... ok -magnum.tests.unit.objects.test_fields.TestContainerStatus.test_to_primitive -magnum.tests.unit.objects.test_fields.TestContainerStatus.test_to_primitive ... ok +magnum.tests.unit.objects.test_fields.TestClusterType.test_coerce_bad_values +magnum.tests.unit.objects.test_fields.TestClusterType.test_coerce_bad_values ... ok +magnum.tests.unit.objects.test_fields.TestClusterType.test_coerce_good_values +magnum.tests.unit.objects.test_fields.TestClusterType.test_coerce_good_values ... ok +magnum.tests.unit.objects.test_fields.TestClusterType.test_from_primitive +magnum.tests.unit.objects.test_fields.TestClusterType.test_from_primitive ... ok +magnum.tests.unit.objects.test_fields.TestClusterType.test_stringify +magnum.tests.unit.objects.test_fields.TestClusterType.test_stringify ... ok +magnum.tests.unit.objects.test_fields.TestClusterType.test_stringify_invalid +magnum.tests.unit.objects.test_fields.TestClusterType.test_stringify_invalid ... ok +magnum.tests.unit.objects.test_fields.TestClusterType.test_to_primitive +magnum.tests.unit.objects.test_fields.TestClusterType.test_to_primitive ... ok magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_coerce_bad_values magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_coerce_bad_values ... ok magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_coerce_good_values @@ -14349,24 +14356,6 @@ magnum.tests.unit.objects.test_fields.TestServerType.test_stringify_invalid ... ok magnum.tests.unit.objects.test_fields.TestServerType.test_to_primitive magnum.tests.unit.objects.test_fields.TestServerType.test_to_primitive ... ok -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_create -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_create ... ok -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_destroy -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_destroy ... ok -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_id -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_id ... ok -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_name -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_name ... ok -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_uuid -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_uuid ... ok -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_list -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_list ... ok -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_list_with_filters -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_list_with_filters ... ok -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_refresh -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_refresh ... ok -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_save -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_save ... ok magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport ... ok magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport_zero @@ -14405,6 +14394,8 @@ magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_sync_cluster_health_status ... ok magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_sync_cluster_status_changes magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_sync_cluster_status_changes ... ok +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_subject_name +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_subject_name ... ok magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_sync_cluster_status_heat_not_found magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_sync_cluster_status_heat_not_found ... ok magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_sync_cluster_status_not_changes @@ -14413,15 +14404,44 @@ magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_update_status_non_trusts_error ... ok magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_update_status_trusts_not_found magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_update_status_trusts_not_found ... ok +magnum.tests.unit.servicegroup.test_magnum_service.MagnumServicePeriodicTestCase.test_update_magnum_service_firsttime +magnum.tests.unit.servicegroup.test_magnum_service.MagnumServicePeriodicTestCase.test_update_magnum_service_firsttime ... ok +magnum.tests.unit.servicegroup.test_magnum_service.MagnumServicePeriodicTestCase.test_update_magnum_service_on_restart +magnum.tests.unit.servicegroup.test_magnum_service.MagnumServicePeriodicTestCase.test_update_magnum_service_on_restart ... ok +magnum.tests.unit.servicegroup.test_magnum_service.MagnumServicePeriodicTestCase.test_update_magnum_service_regular +magnum.tests.unit.servicegroup.test_magnum_service.MagnumServicePeriodicTestCase.test_update_magnum_service_regular ... ok +magnum.tests.unit.template.test_template.TestTemplate.test_template_yaml +magnum.tests.unit.template.test_template.TestTemplate.test_template_yaml ... ok -GET: /v1/stats {} -GOT:{'clusters': 0, 'nodes': 0} -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_with_bytes_issuer_name -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_with_bytes_issuer_name ... ok -Exception ignored in: +PATCH: /v1/federations/1c0f0964-d69f-4cce-b638-be4aa9179faa [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'add'}] +GET: /v1/mservices {} +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} +GOT:Response: 201 Created +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-01-16T22:54:52.501657+00:00", "updated_at": null} +DELETE: /v1/quotas/fake_project/Cluster +GET: /v1/quotas {} +GET: /v1/quotas/fake_project/Cluster {} +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 5} +GOT:Response: 201 Created +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"id": 42, "hard_limit": 5, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-01-16T22:54:52.595131+00:00", "updated_at": null} +PATCH: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 20} +Exception ignored in: Traceback (most recent call last): File "/usr/lib/python3.13/threading.py", line 1383, in __del__ TypeError: 'NoneType' object does not support the context manager protocol +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_with_bytes_issuer_name +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_with_bytes_issuer_name ... ok magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_has_publickey magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_has_publickey ... ok magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_extentions_as_client @@ -14440,6 +14460,44 @@ magnum.tests.unit.common.x509.test_sign.TestX509.test_sign_with_invalid_csr ... ok magnum.tests.unit.common.x509.test_sign.TestX509.test_sign_with_unicode_csr magnum.tests.unit.common.x509.test_sign.TestX509.test_sign_with_unicode_csr ... ok +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_create_client_files_in_cache +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_create_client_files_in_cache ... ok +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_create_client_files_notin_cache +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_create_client_files_notin_cache ... ok +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_create_client_files_set_file_permissions +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_create_client_files_set_file_permissions ... ok +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_create_client_files_temp_no_dir +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_create_client_files_temp_no_dir ... ok +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_certificates +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_certificates ... ok +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_certificates_if_raise_error +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_certificates_if_raise_error ... ok +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_certificates_without_cert_ref +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_certificates_without_cert_ref ... ok +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_client_files +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_client_files ... ok +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_client_files_none +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_client_files_none ... ok +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_generate_ca_cert +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_generate_ca_cert ... ok +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_generate_certificates +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_generate_certificates ... ok +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_generate_certificates_with_error +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_generate_certificates_with_error ... ok +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_generate_certificates_without_name +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_generate_certificates_without_name ... ok +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_generate_client_cert +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_generate_client_cert ... ok +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_get_cluster_ca_certificate +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_get_cluster_ca_certificate ... ok +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_get_cluster_ca_certificate_ca_cert_type +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_get_cluster_ca_certificate_ca_cert_type ... ok +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_get_cluster_magnum_cert +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_get_cluster_magnum_cert ... ok +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_sign_node_certificate +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_sign_node_certificate ... ok +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_sign_node_certificate_without_cluster_name +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_sign_node_certificate_without_cluster_name ... ok magnum.tests.unit.conductor.handlers.common.test_trust_manager.TrustManagerTestCase.test_create_trustee_and_trust magnum.tests.unit.conductor.handlers.common.test_trust_manager.TrustManagerTestCase.test_create_trustee_and_trust ... ok magnum.tests.unit.conductor.handlers.common.test_trust_manager.TrustManagerTestCase.test_create_trustee_and_trust_with_error @@ -14450,112 +14508,58 @@ magnum.tests.unit.conductor.handlers.common.test_trust_manager.TrustManagerTestCase.test_delete_trustee_and_trust_without_trust_id ... ok magnum.tests.unit.conductor.handlers.common.test_trust_manager.TrustManagerTestCase.test_delete_trustee_and_trust_without_trustee_user_id magnum.tests.unit.conductor.handlers.common.test_trust_manager.TrustManagerTestCase.test_delete_trustee_and_trust_without_trustee_user_id ... ok -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_delete -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_delete ... ok -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_delete_conflict -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_delete_conflict ... ok -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_delete_with_lb -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_delete_with_lb ... ok -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_resize_failure -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_resize_failure ... ok -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_resize_success -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_resize_success ... ok -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create ... ok -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_handles_bad_request -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_handles_bad_request ... ok -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_with_cert_failed -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_with_cert_failed ... ok -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_with_environment -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_with_environment ... ok -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_with_invalid_unicode_name -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_with_invalid_unicode_name ... ok -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_with_trust_failed -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_with_trust_failed ... ok -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_adopt_complete -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_adopt_complete ... ok -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_check_complete -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_check_complete ... ok -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_restore_complete -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_restore_complete ... ok -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_resume_complete -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_resume_complete ... ok -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_rollback_complete -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_rollback_complete ... ok -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_snapshot_complete -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_snapshot_complete ... ok -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_update_complete -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_update_complete ... ok -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_node_count_failure -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_node_count_failure ... ok -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_node_count_success -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_node_count_success ... ok +magnum.tests.unit.conductor.handlers.test_ca_conductor.TestSignConductor.test_get_ca_certificate +magnum.tests.unit.conductor.handlers.test_ca_conductor.TestSignConductor.test_get_ca_certificate ... ok +magnum.tests.unit.conductor.handlers.test_ca_conductor.TestSignConductor.test_sign_certificate +magnum.tests.unit.conductor.handlers.test_ca_conductor.TestSignConductor.test_sign_certificate ... ok magnum.tests.unit.conductor.handlers.test_federation_conductor.TestHandler.test_create_federation magnum.tests.unit.conductor.handlers.test_federation_conductor.TestHandler.test_create_federation ... ok magnum.tests.unit.conductor.handlers.test_federation_conductor.TestHandler.test_delete_federation magnum.tests.unit.conductor.handlers.test_federation_conductor.TestHandler.test_delete_federation ... ok magnum.tests.unit.conductor.handlers.test_federation_conductor.TestHandler.test_update_federation magnum.tests.unit.conductor.handlers.test_federation_conductor.TestHandler.test_update_federation ... ok -magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_action -magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_action ... ok -magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_action_copies_object -magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_action_copies_object ... ok -magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_action_on_raise -magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_action_on_raise ... ok -magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_class_action -magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_class_action ... ok -magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_class_action_on_raise -magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_class_action_on_raise ... ok -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_create_stack -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_create_stack ... ok -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_create_stack_no_timeout_specified -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_create_stack_no_timeout_specified ... ok -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_create_stack_timeout_is_zero -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_create_stack_timeout_is_zero ... ok -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition ... ok -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_fcos_no_discoveryurl -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_fcos_no_discoveryurl ... ok -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_fcos_with_discovery -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_fcos_with_discovery ... ok -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_only_required -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_only_required ... ok -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_with_registry -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_with_registry ... ok -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_apiserver_port -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_apiserver_port ... ok -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_discovery_url -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_discovery_url ... ok -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_dns -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_dns ... ok -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_docker_storage_driver -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_docker_storage_driver ... ok -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_server_image -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_server_image ... ok -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_update_stack -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_update_stack ... ok -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create ... ok -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create_failed -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create_failed ... ok -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create_failed_bad_request -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create_failed_bad_request ... ok -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete ... ok -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_failed -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_failed ... ok -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_stack_and_ng_not_found -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_stack_and_ng_not_found ... ok -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_stack_not_found -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_stack_not_found ... ok -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_stack_operation_ongoing -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_stack_operation_ongoing ... ok -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_udpate -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_udpate ... ok -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_update_failed -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_update_failed ... ok -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_update_failed_bad_request -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_update_failed_bad_request ... ok +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_is_magnum_auto_healer_running +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_is_magnum_auto_healer_running ... ok +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_compute_cpu_util +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_compute_cpu_util ... ok +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_compute_memory_util +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_compute_memory_util ... ok +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_get_metric_names +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_get_metric_names ... ok +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_get_metric_unit +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_get_metric_unit ... ok +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_healthy +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_healthy ... ok +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_unhealthy_api +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_unhealthy_api ... ok +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_unhealthy_node +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_unhealthy_node ... ok +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_unreachable_cluster +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_unreachable_cluster ... ok +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_unreachable_with_master_lb +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_unreachable_with_master_lb ... ok +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_pull_data_success +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_pull_data_success ... ok +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_cluster_create +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_cluster_create ... ok +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_cluster_delete +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_cluster_delete ... ok +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_cluster_update +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_cluster_update ... ok +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_ca_certificate +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_ca_certificate ... ok +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_nodegroup_create +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_nodegroup_create ... ok +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_nodegroup_delete +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_nodegroup_delete ... ok +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_nodegroup_update +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_nodegroup_update ... ok +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_ping_conductor +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_ping_conductor ... ok +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_sign_certificate +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_sign_certificate ... ok +magnum.tests.unit.conductor.test_scale_manager.TestK8sScaleManager.test_get_hosts_with_container +magnum.tests.unit.conductor.test_scale_manager.TestK8sScaleManager.test_get_hosts_with_container ... ok magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_no_container_host magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_no_container_host ... ok magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_one_container_host @@ -14568,6 +14572,18 @@ magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_two_container_hosts ... ok magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_with_none_hosts magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_with_none_hosts ... ok +magnum.tests.unit.conf.test_conf.ConfTestCase.test_append_config +magnum.tests.unit.conf.test_conf.ConfTestCase.test_append_config ... ok +magnum.tests.unit.conf.test_conf.ConfTestCase.test_import_mods_no_func +magnum.tests.unit.conf.test_conf.ConfTestCase.test_import_mods_no_func ... ok +magnum.tests.unit.conf.test_conf.ConfTestCase.test_import_mods_valid_func +magnum.tests.unit.conf.test_conf.ConfTestCase.test_import_mods_valid_func ... ok +magnum.tests.unit.conf.test_conf.ConfTestCase.test_list_module_name_invalid_mods +magnum.tests.unit.conf.test_conf.ConfTestCase.test_list_module_name_invalid_mods ... ok +magnum.tests.unit.conf.test_conf.ConfTestCase.test_list_module_name_valid_mods +magnum.tests.unit.conf.test_conf.ConfTestCase.test_list_module_name_valid_mods ... ok +magnum.tests.unit.conf.test_conf.ConfTestCase.test_list_opts +magnum.tests.unit.conf.test_conf.ConfTestCase.test_list_opts ... ok magnum.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_default_value magnum.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_default_value ... ok magnum.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_type_check @@ -14576,94 +14592,78 @@ magnum.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_default_value ... ok magnum.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_type_check magnum.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_type_check ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_create_cluster -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_create_cluster ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_create_cluster_already_exists -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_create_cluster_already_exists ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_create_cluster_nullable_cluster_template_id -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_create_cluster_nullable_cluster_template_id ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_destroy_cluster -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_destroy_cluster ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_destroy_cluster_by_id_that_does_not_exist -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_destroy_cluster_by_id_that_does_not_exist ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_destroy_cluster_by_uuid -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_destroy_cluster_by_uuid ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_destroy_cluster_by_uuid_that_does_not_exist -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_destroy_cluster_by_uuid_that_does_not_exist ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_all_cluster_stats -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_all_cluster_stats ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_by_id -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_by_id ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_by_name -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_by_name ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_by_name_multiple_cluster -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_by_name_multiple_cluster ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_by_uuid -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_by_uuid ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list_by_admin_all_tenants -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list_by_admin_all_tenants ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list_cluster_template_not_exist -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list_cluster_template_not_exist ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list_sorted -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list_sorted ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list_with_filters -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list_with_filters ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_that_does_not_exist -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_that_does_not_exist ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_one_tenant_cluster_stats -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_one_tenant_cluster_stats ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_update_cluster -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_update_cluster ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_update_cluster_not_found -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_update_cluster_not_found ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_update_cluster_uuid -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_update_cluster_uuid ... ok -magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_create_magnum_service -magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_create_magnum_service ... ok -magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_create_magnum_service_failure_for_dup -magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_create_magnum_service_failure_for_dup ... ok -magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_destroy_magnum_service -magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_destroy_magnum_service ... ok -magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_destroy_magnum_service_failure -magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_destroy_magnum_service_failure ... ok -magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_get_magnum_service_by_host_and_binary -magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_get_magnum_service_by_host_and_binary ... ok -magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_get_magnum_service_by_host_and_binary_failure -magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_get_magnum_service_by_host_and_binary_failure ... ok -magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_get_magnum_service_list -magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_get_magnum_service_list ... ok -magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_update_magnum_service -magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_update_magnum_service ... ok -magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_update_magnum_service_failure -magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_update_magnum_service_failure ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_create_quota -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_create_quota ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_create_quota_already_exists -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_create_quota_already_exists ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_delete_quota -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_delete_quota ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_delete_quota_that_does_not_exist -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_delete_quota_that_does_not_exist ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_all -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_all ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_by_project_id_resource -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_by_project_id_resource ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_by_project_id_resource_not_found -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_by_project_id_resource_not_found ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_invalid_sort_key -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_invalid_sort_key ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_sorted -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_sorted ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_with_filters -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_with_filters ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_update_quota -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_update_quota ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_update_quota_not_found -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_update_quota_not_found ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_create_federation +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_create_federation ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_create_federation_already_exists +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_create_federation_already_exists ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_id_that_does_not_exist +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_id_that_does_not_exist ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_uudid_that_does_not_exist +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_uudid_that_does_not_exist ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_uuid +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_uuid ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_id +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_id ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_name +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_name ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_name_multiple_federation +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_name_multiple_federation ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_uuid +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_uuid ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list_by_admin_all_tenants +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list_by_admin_all_tenants ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list_sorted +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list_sorted ... ok +/build/reproducible-path/magnum-19.0.0/magnum/db/sqlalchemy/api.py:116: SAWarning: TypeDecorator JSONEncodedList() will not produce a cache key because the ``cache_ok`` attribute is not set to True. This can have significant performance implications including some performance degradations in comparison to prior SQLAlchemy versions. Set this attribute to True if this type object's state is safe to use in a cache key, or False to disable this warning. (Background on this warning at: https://sqlalche.me/e/20/cprf) + return query.all() +/build/reproducible-path/magnum-19.0.0/magnum/db/sqlalchemy/api.py:116: SAWarning: TypeDecorator JSONEncodedDict() will not produce a cache key because the ``cache_ok`` attribute is not set to True. This can have significant performance implications including some performance degradations in comparison to prior SQLAlchemy versions. Set this attribute to True if this type object's state is safe to use in a cache key, or False to disable this warning. (Background on this warning at: https://sqlalche.me/e/20/cprf) + return query.all() +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list_with_filters +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list_with_filters ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_that_does_not_exist +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_that_does_not_exist ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_update_federation_members +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_update_federation_members ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_update_federation_not_found +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_update_federation_not_found ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_update_federation_properties +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_update_federation_properties ... ok +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_create_nodegroup +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_create_nodegroup ... ok +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_create_nodegroup_already_exists +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_create_nodegroup_already_exists ... ok +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_create_nodegroup_same_name_different_cluster +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_create_nodegroup_same_name_different_cluster ... ok +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_create_nodegroup_same_name_same_cluster +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_create_nodegroup_same_name_same_cluster ... ok +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_destroy_cluster_by_uuid_that_does_not_exist +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_destroy_cluster_by_uuid_that_does_not_exist ... ok +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_destroy_nodegroup +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_destroy_nodegroup ... ok +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_destroy_nodegroup_by_uuid +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_destroy_nodegroup_by_uuid ... ok +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_cluster_by_uuid +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_cluster_by_uuid ... ok +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_cluster_list_sorted +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_cluster_list_sorted ... ok +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_nodegroup_by_id +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_nodegroup_by_id ... ok +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_nodegroup_by_name +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_nodegroup_by_name ... ok +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_nodegroup_list_with_filters +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_nodegroup_list_with_filters ... ok +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_nodegroup_that_does_not_exist +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_nodegroup_that_does_not_exist ... ok +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_nodegroups_in_cluster +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_nodegroups_in_cluster ... ok +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_update_cluster +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_update_cluster ... ok +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_update_nodegroup_not_found +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_update_nodegroup_not_found ... ok magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_delete_complete magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_delete_complete ... ok magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_nodegroup_failed @@ -14730,6 +14730,54 @@ magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_stack_not_found_new_ng_updating ... ok magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_stack_not_found_updating magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_stack_not_found_updating ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_discovery_url +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_discovery_url ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_discovery_url_fail +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_discovery_url_fail ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_discovery_url_not_found +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_discovery_url_not_found ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_heat_param +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_heat_param ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_external_network_id +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_external_network_id ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_insecure +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_insecure ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_octavia_disabled +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_octavia_disabled ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_octavia_enabled +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_octavia_enabled ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_scale_params +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_scale_params ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_validate_discovery_url +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_validate_discovery_url ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_validate_discovery_url_fail +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_validate_discovery_url_fail ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_validate_discovery_url_invalid +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_validate_discovery_url_invalid ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_validate_discovery_url_unexpect_size +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_validate_discovery_url_unexpect_size ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_set_master_lb_allowed_cidrs +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_set_master_lb_allowed_cidrs ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_set_master_lb_allowed_cidrs_find_subnet_cidr +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_set_master_lb_allowed_cidrs_find_subnet_cidr ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_set_master_lb_allowed_cidrs_fixed_subnet_cidr +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_set_master_lb_allowed_cidrs_fixed_subnet_cidr ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_k8s_outputs_api_address +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_k8s_outputs_api_address ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_k8s_outputs_if_cluster_template_is_secure +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_k8s_outputs_if_cluster_template_is_secure ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_k8s_outputs_none_api_address +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_k8s_outputs_none_api_address ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_outputs_master_address +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_outputs_master_address ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_outputs_master_address_fip_disabled +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_outputs_master_address_fip_disabled ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_outputs_node_address +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_outputs_node_address ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_outputs_node_address_fip_disabled +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_outputs_node_address_fip_disabled ... ok magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_disabled_with_fp magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_disabled_with_fp ... ok magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_disabled_without_fp @@ -14758,40 +14806,30 @@ magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_output_mapping ... ok magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_required_param_not_set magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_required_param_not_set ... ok -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_create -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_create ... ok -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_destroy -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_destroy ... ok -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_bad_id_and_uuid -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_bad_id_and_uuid ... ok -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_by_id -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_by_id ... ok -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_by_name -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_by_name ... ok -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_by_uuid -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_by_uuid ... ok -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_list -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_list ... ok -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_list_all -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_list_all ... ok -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_list_with_filters -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_list_with_filters ... ok -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_refresh -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_refresh ... ok -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_save -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_save ... ok -magnum.tests.unit.objects.test_fields.TestClusterType.test_coerce_bad_values -magnum.tests.unit.objects.test_fields.TestClusterType.test_coerce_bad_values ... ok -magnum.tests.unit.objects.test_fields.TestClusterType.test_coerce_good_values -magnum.tests.unit.objects.test_fields.TestClusterType.test_coerce_good_values ... ok -magnum.tests.unit.objects.test_fields.TestClusterType.test_from_primitive -magnum.tests.unit.objects.test_fields.TestClusterType.test_from_primitive ... ok -magnum.tests.unit.objects.test_fields.TestClusterType.test_stringify -magnum.tests.unit.objects.test_fields.TestClusterType.test_stringify ... ok -magnum.tests.unit.objects.test_fields.TestClusterType.test_stringify_invalid -magnum.tests.unit.objects.test_fields.TestClusterType.test_stringify_invalid ... ok -magnum.tests.unit.objects.test_fields.TestClusterType.test_to_primitive -magnum.tests.unit.objects.test_fields.TestClusterType.test_to_primitive ... ok +magnum.tests.unit.objects.test_fields.TestClusterStatus.test_coerce_bad_values +magnum.tests.unit.objects.test_fields.TestClusterStatus.test_coerce_bad_values ... ok +magnum.tests.unit.objects.test_fields.TestClusterStatus.test_coerce_good_values +magnum.tests.unit.objects.test_fields.TestClusterStatus.test_coerce_good_values ... ok +magnum.tests.unit.objects.test_fields.TestClusterStatus.test_from_primitive +magnum.tests.unit.objects.test_fields.TestClusterStatus.test_from_primitive ... ok +magnum.tests.unit.objects.test_fields.TestClusterStatus.test_stringify +magnum.tests.unit.objects.test_fields.TestClusterStatus.test_stringify ... ok +magnum.tests.unit.objects.test_fields.TestClusterStatus.test_stringify_invalid +magnum.tests.unit.objects.test_fields.TestClusterStatus.test_stringify_invalid ... ok +magnum.tests.unit.objects.test_fields.TestClusterStatus.test_to_primitive +magnum.tests.unit.objects.test_fields.TestClusterStatus.test_to_primitive ... ok +magnum.tests.unit.objects.test_fields.TestContainerStatus.test_coerce_bad_values +magnum.tests.unit.objects.test_fields.TestContainerStatus.test_coerce_bad_values ... ok +magnum.tests.unit.objects.test_fields.TestContainerStatus.test_coerce_good_values +magnum.tests.unit.objects.test_fields.TestContainerStatus.test_coerce_good_values ... ok +magnum.tests.unit.objects.test_fields.TestContainerStatus.test_from_primitive +magnum.tests.unit.objects.test_fields.TestContainerStatus.test_from_primitive ... ok +magnum.tests.unit.objects.test_fields.TestContainerStatus.test_stringify +magnum.tests.unit.objects.test_fields.TestContainerStatus.test_stringify ... ok +magnum.tests.unit.objects.test_fields.TestContainerStatus.test_stringify_invalid +magnum.tests.unit.objects.test_fields.TestContainerStatus.test_stringify_invalid ... ok +magnum.tests.unit.objects.test_fields.TestContainerStatus.test_to_primitive +magnum.tests.unit.objects.test_fields.TestContainerStatus.test_to_primitive ... ok magnum.tests.unit.objects.test_magnum_service.TestMagnumServiceObject.test_create magnum.tests.unit.objects.test_magnum_service.TestMagnumServiceObject.test_create ... ok magnum.tests.unit.objects.test_magnum_service.TestMagnumServiceObject.test_destroy @@ -14804,6 +14842,24 @@ magnum.tests.unit.objects.test_magnum_service.TestMagnumServiceObject.test_report_state_up ... ok magnum.tests.unit.objects.test_magnum_service.TestMagnumServiceObject.test_save magnum.tests.unit.objects.test_magnum_service.TestMagnumServiceObject.test_save ... ok +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_create +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_create ... ok +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_destroy +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_destroy ... ok +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_id +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_id ... ok +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_name +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_name ... ok +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_uuid +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_uuid ... ok +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_list +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_list ... ok +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_list_with_filters +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_list_with_filters ... ok +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_refresh +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_refresh ... ok +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_save +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_save ... ok magnum.tests.unit.objects.test_objects.TestObject.test_base_attributes magnum.tests.unit.objects.test_objects.TestObject.test_base_attributes ... ok magnum.tests.unit.objects.test_objects.TestObject.test_changed_1 @@ -14862,81 +14918,23 @@ magnum.tests.unit.objects.test_objects.TestObject.test_with_alternate_context ... ok magnum.tests.unit.objects.test_objects.TestObjectVersions.test_versions magnum.tests.unit.objects.test_objects.TestObjectVersions.test_versions ... ok -magnum.tests.unit.servicegroup.test_magnum_service.MagnumServicePeriodicTestCase.test_update_magnum_service_firsttime -magnum.tests.unit.servicegroup.test_magnum_service.MagnumServicePeriodicTestCase.test_update_magnum_service_firsttime ... ok -magnum.tests.unit.servicegroup.test_magnum_service.MagnumServicePeriodicTestCase.test_update_magnum_service_on_restart -magnum.tests.unit.servicegroup.test_magnum_service.MagnumServicePeriodicTestCase.test_update_magnum_service_on_restart ... ok -magnum.tests.unit.servicegroup.test_magnum_service.MagnumServicePeriodicTestCase.test_update_magnum_service_regular -magnum.tests.unit.servicegroup.test_magnum_service.MagnumServicePeriodicTestCase.test_update_magnum_service_regular ... ok -magnum.tests.unit.template.test_template.TestTemplate.test_template_yaml -magnum.tests.unit.template.test_template.TestTemplate.test_template_yaml ... ok -GET: /v1/quotas {} -GOT:{'quotas': [{'id': 3, 'hard_limit': 10, 'project_id': 'proj-id-2', 'resource': 'Cluster', 'created_at': '2026-02-19T05:12:47.677831+00:00', 'updated_at': None}]} -GET: /v1/quotas?all_tenants=True {} -GOT:{'quotas': []} -GET: /v1/quotas?limit=2&all_tenants=True {} -GOT:{'quotas': [{'id': 1, 'hard_limit': 10, 'project_id': 'proj-id-0', 'resource': 'Cluster', 'created_at': '2026-02-19T05:12:47.707503+00:00', 'updated_at': None}, {'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2026-02-19T05:12:47.708222+00:00', 'updated_at': None}], 'next': 'http://localhost/v1/quotas?sort_key=id&sort_dir=asc&limit=2&marker=2'} -GET: /v1/quotas/fake_project/Cluster {} -GOT:{'id': 1, 'hard_limit': 10, 'project_id': 'fake_project', 'resource': 'Cluster', 'created_at': '2026-02-19T05:12:47.723204+00:00', 'updated_at': None} -GET: /v1/quotas/fake_project/Cluster {} -GOT:Response: 200 OK -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"hard_limit": 20, "project_id": "fake_project", "resource": "Cluster"} -GET: /v1/quotas/invalid_proj/invalid_res {} -GOT:Response: 403 Forbidden -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Not authorized", "detail": "Not authorized.", "links": []}]} -GET: /v1/quotas/fake_project/Cluster {} -GOT:Response: 200 OK -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"hard_limit": 15, "project_id": "fake_project", "resource": "Cluster"} -GET: /v1/quotas {} -GOT:{'quotas': [{'id': 1, 'hard_limit': 10, 'project_id': 'fake_project', 'resource': 'Cluster', 'created_at': '2026-02-19T05:12:47.774762+00:00', 'updated_at': None}]} -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 5} -GOT:Response: 201 Created -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"id": 42, "hard_limit": 5, "project_id": "fake_project", "resource": "Cluster", "created_at": "2026-02-19T05:12:47.792925+00:00", "updated_at": null} -PATCH: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 20} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 0, 'role': 'worker', 'max_node_count': None, 'min_node_count': 0, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"id": 42, "hard_limit": 20, "project_id": "fake_project", "resource": "Cluster", "created_at": "2026-02-19T05:12:47.792925+00:00", "updated_at": "2026-02-19T05:12:47.798523+00:00"} -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} -GOT:Response: 201 Created -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2026-02-19T05:12:47.812269+00:00", "updated_at": null} -PATCH: /v1/quotas {'project_id': 'not-found', 'hard_limit': 20, 'resource': 'Cluster'} -GOT:Response: 404 Not Found +{"id": 12, "uuid": "43bfe0f6-fe19-42ef-9182-1c061207e60e", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/43bfe0f6-fe19-42ef-9182-1c061207e60e", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/43bfe0f6-fe19-42ef-9182-1c061207e60e", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 0, "role": "worker", "min_node_count": 0, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Quota could not be found: project_id not-found resource Cluster", "detail": "Quota could not be found: project_id not-found resource Cluster.", "links": []}]} +{"id": 12, "uuid": "35ebb815-8c3f-4c8a-bbb7-4c97ebaf6a0e", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/35ebb815-8c3f-4c8a-bbb7-4c97ebaf6a0e", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/35ebb815-8c3f-4c8a-bbb7-4c97ebaf6a0e", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 1, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} GET: /v1/stats {} GOT:{'clusters': 2, 'nodes': 12} GET: /v1/stats?project_id=34 {} @@ -14951,40 +14949,41 @@ GET: /v1/stats {} GOT:{'clusters': 1, 'nodes': 6} GET: /v1/stats?project_id=123 {} +GET: / {} +GOT:Response: 500 Internal Server Error +Content-Type: application/json +{"errors": [{"request_id": "", "code": "server", "status": 500, "title": "Test exception message", "detail": "Test exception message.", "links": []}]} +GET: / {} +GOT:Response: 500 Internal Server Error +Content-Type: application/json +{"errors": [{"request_id": "", "code": "server", "status": 500, "title": "Remote error: TestException Test exception message", "detail": "Remote error: TestException Test exception message.\n['", "links": []}]} +GET: / {} +GOT:Response: 400 Bad Request +Content-Type: application/json +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Test exception message", "detail": "Test exception message.\nTraceback (most recent call last):\n File \"/opt/stack/magnum/magnum/openstack/common/rpc/amqp.py\", line 434, in _process_data\\n **args)\n File \"/opt/stack/magnum/magnum/openstack/common/rpc/dispatcher.py\", line 172, in dispatch\\n result = getattr(proxyobj, method)(context, **kwargs)", "links": []}]} +GET: / {} +GOT:Response: 500 Internal Server Error +Content-Type: application/json +{"errors": [{"request_id": "", "code": "server", "status": 500, "title": "Test exception message", "detail": "Test exception message.", "links": []}]} +GET: / {} +GOT:Response: 500 Internal Server Error +Content-Type: application/json +{"errors": [{"request_id": "", "code": "server", "status": 500, "title": "Error message without traceback \n but \n multiline", "detail": "Error message without traceback \n but \n multiline", "links": []}]} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 GET: /v1/clusters {} GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} PATCH: /v1/clusters/cluster_example_A [{'path': '/node_count', 'value': 4, 'op': 'replace'}] -POST: /v1/federations {} -DELETE: /v1/federations/1b4fe6fb-2d4b-455f-adc0-f6f72272bb16 -GET: /v1/federations/detail {} -GET: /v1/federations {} -GET: /v1/federations {} -GOT:{'federations': [{'uuid': '644114fb-0ef2-47af-b307-1037437c144b', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/644114fb-0ef2-47af-b307-1037437c144b', 'rel': 'self'}, {'href': 'http://localhost/federations/644114fb-0ef2-47af-b307-1037437c144b', 'rel': 'bookmark'}]}]} -PATCH: /v1/federations/5674adca-7adc-4514-ba2d-30e406327fca [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'add'}] -GET: /v1/mservices {} -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} -GOT:Response: 201 Created -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2026-02-19T05:12:48.678732+00:00", "updated_at": null} -DELETE: /v1/quotas/fake_project/Cluster -GET: /v1/quotas {} -GET: /v1/quotas/fake_project/Cluster {} -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 5} -GOT:Response: 201 Created -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"id": 42, "hard_limit": 5, "project_id": "fake_project", "resource": "Cluster", "created_at": "2026-02-19T05:12:48.721909+00:00", "updated_at": null} -PATCH: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 20} +POST: /v1/clusters/5f51871f-da78-4f1e-9a84-fd7e5d1b66f4/nodegroups/ {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} +DELETE: /v1/clusters/0fbab1d1-be90-4994-b08d-203ddc9db38d/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 +GET: /v1/clusters/aa677ca8-b2b2-419f-8502-8372c1d78fab/nodegroups/ {} +GET: /v1/clusters/90140af5-0484-41a1-b65c-d50693ee5208/nodegroups/foo {} +PATCH: /v1/clusters/7746ee26-0ffb-486e-83e4-90c5959e9c8a/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 [{'path': '/max_node_count', 'value': 4, 'op': 'replace'}] +GET: /v1/stats {} +GOT:{'clusters': 0, 'nodes': 0} +GET: /v1/stats {} +GET: /v1/stats {} +GOT:{'clusters': 0, 'nodes': 0} stdin:1:1: M338 Use assertIn/NotIn(A, B) rather than assertEqual(A in B, True/False) when checking collection contents. stdin:1:1: M338 Use assertIn/NotIn(A, B) rather than assertEqual(A in B, True/False) when checking collection contents. stdin:1:1: M338 Use assertIn/NotIn(A, B) rather than assertEqual(A in B, True/False) when checking collection contents. @@ -15020,22 +15019,22 @@ magnum.tests.unit.test_hacking.HackingTestCase.test_use_timeunitls_utcow ... ok ---------------------------------------------------------------------- -Ran 1164 tests in 29.592s +Ran 1164 tests in 52.783s OK + stestr slowest Test id Runtime (s) ---------------------------------------------------------------------------------------------------------- ----------- -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_has_publickey 1.408 -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_subject_name 1.322 -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_issuer_name 1.267 -magnum.tests.unit.common.x509.test_sign.TestX509.test_sign_with_unicode_csr 1.166 -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_extentions_as_client 1.094 -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_has_publickey 1.033 -magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_timeout 1.009 -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_subject_name 0.843 -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_with_bytes_issuer_name 0.828 -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_issuer_name 0.769 +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_extentions_as_client 3.076 +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_subject_name 3.014 +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_issuer_name 2.301 +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_has_publickey 2.059 +magnum.tests.unit.common.x509.test_sign.TestX509.test_sign_with_unicode_csr 2.003 +magnum.tests.unit.common.x509.test_sign.TestX509.test_load_pem_private_key_with_unicode_private_key 1.975 +magnum.tests.unit.common.x509.test_sign.TestX509.test_load_pem_private_key_with_bytes_private_key 1.458 +magnum.tests.unit.common.x509.test_operations.TestX509Operations.test_generate_csr_and_key 1.454 +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_subject_name 1.298 +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_has_publickey 1.175 + rm -rf .stestr dh_install --fail-missing dh_install: warning: Please use dh_missing --list-missing/--fail-missing instead @@ -15054,9 +15053,9 @@ --namespace oslo.service.service \ --namespace keystonemiddleware.auth_token pkgos-readd-keystone-authtoken-missing-options /build/reproducible-path/magnum-19.0.0/debian/magnum-common/usr/share/magnum-common/magnum.conf keystone_authtoken magnum -pkgos_inifile: Setting value in pkgos-readd-keystone-authtoken-missing-options.2J39Dy:[keystone_authtoken]/www_authenticate_uri -pkgos_inifile: Setting value in pkgos-readd-keystone-authtoken-missing-options.2J39Dy:[keystone_authtoken]/auth_type -pkgos_inifile: Setting value in pkgos-readd-keystone-authtoken-missing-options.2J39Dy:[keystone_authtoken]/region_name +pkgos_inifile: Setting value in pkgos-readd-keystone-authtoken-missing-options.7e6eIk:[keystone_authtoken]/www_authenticate_uri +pkgos_inifile: Setting value in pkgos-readd-keystone-authtoken-missing-options.7e6eIk:[keystone_authtoken]/auth_type +pkgos_inifile: Setting value in pkgos-readd-keystone-authtoken-missing-options.7e6eIk:[keystone_authtoken]/region_name pkgos-fix-config-default /build/reproducible-path/magnum-19.0.0/debian/magnum-common/usr/share/magnum-common/magnum.conf oslo_concurrency lock_path /var/lock/magnum pkgos_inifile: Setting value in /build/reproducible-path/magnum-19.0.0/debian/magnum-common/usr/share/magnum-common/magnum.conf:[oslo_concurrency]/lock_path pkgos-fix-config-default /build/reproducible-path/magnum-19.0.0/debian/magnum-common/usr/share/magnum-common/magnum.conf keystone_authtoken auth_protocol http @@ -15134,12 +15133,12 @@ make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions dh_python3 --shebang=/usr/bin/python3 -I: dh_python3 tools:113: replacing shebang in debian/python3-magnum/usr/bin/magnum-conductor I: dh_python3 tools:113: replacing shebang in debian/python3-magnum/usr/bin/magnum-api -I: dh_python3 tools:113: replacing shebang in debian/python3-magnum/usr/bin/magnum-status -I: dh_python3 tools:113: replacing shebang in debian/python3-magnum/usr/bin/magnum-api-wsgi -I: dh_python3 tools:113: replacing shebang in debian/python3-magnum/usr/bin/magnum-db-manage I: dh_python3 tools:113: replacing shebang in debian/python3-magnum/usr/bin/magnum-driver-manage +I: dh_python3 tools:113: replacing shebang in debian/python3-magnum/usr/bin/magnum-db-manage +I: dh_python3 tools:113: replacing shebang in debian/python3-magnum/usr/bin/magnum-api-wsgi +I: dh_python3 tools:113: replacing shebang in debian/python3-magnum/usr/bin/magnum-status +I: dh_python3 tools:113: replacing shebang in debian/python3-magnum/usr/bin/magnum-conductor make[1]: Leaving directory '/build/reproducible-path/magnum-19.0.0' debian/rules override_dh_installinit make[1]: Entering directory '/build/reproducible-path/magnum-19.0.0' @@ -15152,15 +15151,17 @@ cat /usr/share/openstack-pkg-tools/init-script-template >>$MYINIT.init ; \ pkgos-gen-systemd-unit $i ; \ done -+ ls -1 debian/magnum-api.init.in debian/magnum-conductor.init.in -+ echo debian/magnum-api.init.in -+ sed s/.init.in// +++ ls -1 debian/magnum-api.init.in debian/magnum-conductor.init.in ++ for i in `ls -1 debian/*.init.in` +++ echo debian/magnum-api.init.in +++ sed s/.init.in// + MYINIT=debian/magnum-api + cp debian/magnum-api.init.in debian/magnum-api.init + cat /usr/share/openstack-pkg-tools/init-script-template + pkgos-gen-systemd-unit debian/magnum-api.init.in -+ sed s/.init.in// -+ echo debian/magnum-conductor.init.in ++ for i in `ls -1 debian/*.init.in` +++ echo debian/magnum-conductor.init.in +++ sed s/.init.in// + MYINIT=debian/magnum-conductor + cp debian/magnum-conductor.init.in debian/magnum-conductor.init + cat /usr/share/openstack-pkg-tools/init-script-template @@ -15170,7 +15171,7 @@ MYPKG=`echo $i | sed s/.service.in//` ; \ cp $MYPKG.service.in $MYPKG.service ; \ done -+ ls -1 debian/*.service.in +++ ls -1 'debian/*.service.in' ls: cannot access 'debian/*.service.in': No such file or directory # Generate the systemd unit if there's no already existing .service.in set -e ; set -x ; for i in `ls debian/*.init.in` ; do \ @@ -15179,16 +15180,18 @@ pkgos-gen-systemd-unit $i ; \ fi \ done -+ ls debian/magnum-api.init.in debian/magnum-conductor.init.in -+ + sedecho s/.init.in/.service.in/ - debian/magnum-api.init.in +++ ls debian/magnum-api.init.in debian/magnum-conductor.init.in ++ for i in `ls debian/*.init.in` +++ echo debian/magnum-api.init.in +++ sed s/.init.in/.service.in/ + MYINIT=debian/magnum-api.service.in -+ [ -e debian/magnum-api.service.in ] ++ '[' -e debian/magnum-api.service.in ']' + pkgos-gen-systemd-unit debian/magnum-api.init.in -+ echo debian/magnum-conductor.init.in -+ sed s/.init.in/.service.in/ ++ for i in `ls debian/*.init.in` +++ echo debian/magnum-conductor.init.in +++ sed s/.init.in/.service.in/ + MYINIT=debian/magnum-conductor.service.in -+ [ -e debian/magnum-conductor.service.in ] ++ '[' -e debian/magnum-conductor.service.in ']' + pkgos-gen-systemd-unit debian/magnum-conductor.init.in dh_installinit --error-handler=true make[1]: Leaving directory '/build/reproducible-path/magnum-19.0.0' @@ -15211,15 +15214,15 @@ else \ dh_gencontrol -- -T/build/reproducible-path/magnum-19.0.0/debian/debian_control_vars ; \ fi -dpkg-gencontrol: warning: Depends field of package magnum-conductor: substitution variable ${python3:Depends} used, but is not defined dpkg-gencontrol: warning: Depends field of package magnum-api: substitution variable ${python3:Depends} used, but is not defined +dpkg-gencontrol: warning: Depends field of package magnum-conductor: substitution variable ${python3:Depends} used, but is not defined dpkg-gencontrol: warning: Depends field of package magnum-common: substitution variable ${python3:Depends} used, but is not defined make[1]: Leaving directory '/build/reproducible-path/magnum-19.0.0' dh_md5sums -O--buildsystem=pybuild dh_builddeb -O--buildsystem=pybuild -dpkg-deb: building package 'python3-magnum' in '../python3-magnum_19.0.0-4_all.deb'. -dpkg-deb: building package 'magnum-api' in '../magnum-api_19.0.0-4_all.deb'. dpkg-deb: building package 'magnum-common' in '../magnum-common_19.0.0-4_all.deb'. +dpkg-deb: building package 'magnum-api' in '../magnum-api_19.0.0-4_all.deb'. +dpkg-deb: building package 'python3-magnum' in '../python3-magnum_19.0.0-4_all.deb'. dpkg-deb: building package 'magnum-conductor' in '../magnum-conductor_19.0.0-4_all.deb'. dpkg-genbuildinfo --build=binary -O../magnum_19.0.0-4_i386.buildinfo dpkg-genchanges --build=binary -O../magnum_19.0.0-4_i386.changes @@ -15229,12 +15232,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/25567/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/25567/tmp/hooks/B01_cleanup finished I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env -I: removing directory /srv/workspace/pbuilder/48532 and its subdirectories -I: Current time: Wed Feb 18 17:13:47 -12 2026 -I: pbuilder-time-stamp: 1771478027 +I: removing directory /srv/workspace/pbuilder/25567 and its subdirectories +I: Current time: Fri Jan 17 12:55:49 +14 2025 +I: pbuilder-time-stamp: 1737068149