Diff of the two buildlogs: -- --- b1/build.log 2025-10-06 18:44:36.170115740 +0000 +++ b2/build.log 2025-10-06 18:48:56.866432308 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Sun Nov 8 13:03:15 -12 2026 -I: pbuilder-time-stamp: 1794186195 +I: Current time: Tue Oct 7 08:44:38 +14 2025 +I: pbuilder-time-stamp: 1759776278 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration @@ -27,53 +27,85 @@ dpkg-source: info: applying removed-setuptools-depends.patch I: using fakeroot in build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/2449556/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/2475439/tmp/hooks/D01_modify_environment starting +debug: Running on codethink04-arm64. +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 Oct 6 18:44 /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/2475439/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/2475439/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='arm64' - DEBIAN_FRONTEND='noninteractive' + 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]="3" [2]="3" [3]="1" [4]="release" [5]="aarch64-unknown-linux-gnu") + BASH_VERSION='5.3.3(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=arm64 + DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' - DISTRIBUTION='unstable' - HOME='/root' - HOST_ARCH='arm64' + DIRSTACK=() + DISTRIBUTION=unstable + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=aarch64 + HOST_ARCH=arm64 IFS=' ' - INVOCATION_ID='5570aff49d4248f5a7a150481929193c' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - 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='2449556' - PS1='# ' - PS2='> ' + INVOCATION_ID=233872c0ad4248aa8430dcecda74ca5d + LANG=C + LANGUAGE=nl_BE:nl + LC_ALL=C + MACHTYPE=aarch64-unknown-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=2475439 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.EQr1iiWQ/pbuilderrc_Ds9e --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.EQr1iiWQ/b1 --logfile b1/build.log magnum_21.0.0-1.dsc' - SUDO_GID='109' - SUDO_HOME='/var/lib/jenkins' - SUDO_UID='104' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://192.168.101.4: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.EQr1iiWQ/pbuilderrc_tkTv --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.EQr1iiWQ/b2 --logfile b2/build.log magnum_21.0.0-1.dsc' + SUDO_GID=109 + SUDO_HOME=/var/lib/jenkins + SUDO_UID=104 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://192.168.101.4:3128 I: uname -a - Linux codethink03-arm64 6.12.48+deb13-cloud-arm64 #1 SMP Debian 6.12.48-1 (2025-09-20) aarch64 GNU/Linux + Linux i-capture-the-hostname 6.12.48+deb13-cloud-arm64 #1 SMP Debian 6.12.48-1 (2025-09-20) aarch64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Aug 10 2025 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/2449556/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Aug 10 12:30 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/2475439/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -623,7 +655,7 @@ Get: 382 http://deb.debian.org/debian unstable/main arm64 python3-webtest all 3.0.6-1 [35.8 kB] Get: 383 http://deb.debian.org/debian unstable/main arm64 python3-werkzeug all 3.1.3-2 [207 kB] Get: 384 http://deb.debian.org/debian unstable/main arm64 python3-wsme all 0.12.1-6 [44.1 kB] -Fetched 119 MB in 3s (45.2 MB/s) +Fetched 119 MB in 1s (85.3 MB/s) Preconfiguring packages ... Selecting previously unselected package libexpat1:arm64. (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 ... 19958 files and directories currently installed.) @@ -1836,8 +1868,8 @@ Setting up tzdata (2025b-5) ... Current default time zone: 'Etc/UTC' -Local time is now: Mon Nov 9 01:04:54 UTC 2026. -Universal Time is now: Mon Nov 9 01:04:54 UTC 2026. +Local time is now: Mon Oct 6 18:45:43 UTC 2025. +Universal Time is now: Mon Oct 6 18:45:43 UTC 2025. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up liberror-perl (0.17030-1) ... @@ -2206,7 +2238,11 @@ fakeroot is already the newest version (1.37.1.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-21.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_21.0.0-1_source.changes +I: user script /srv/workspace/pbuilder/2475439/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for unstable +I: user script /srv/workspace/pbuilder/2475439/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/magnum-21.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_21.0.0-1_source.changes dpkg-buildpackage: info: source package magnum dpkg-buildpackage: info: source version 21.0.0-1 dpkg-buildpackage: info: source distribution unstable @@ -2505,70 +2541,154 @@ [pbr] AUTHORS complete (0.0s) running build running build_py -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/api -copying magnum/api/versioned_method.py -> build/lib/magnum/api -copying magnum/api/validation.py -> build/lib/magnum/api -copying magnum/api/utils.py -> build/lib/magnum/api -copying magnum/api/servicegroup.py -> build/lib/magnum/api -copying magnum/api/http_error.py -> build/lib/magnum/api -copying magnum/api/hooks.py -> build/lib/magnum/api -copying magnum/api/expose.py -> build/lib/magnum/api -copying magnum/api/config.py -> build/lib/magnum/api -copying magnum/api/attr_validator.py -> build/lib/magnum/api -copying magnum/api/app.py -> build/lib/magnum/api -copying magnum/api/__init__.py -> build/lib/magnum/api -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/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/template_def.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/__init__.py -> build/lib/magnum/drivers/k8s_fedora_coreos_v1 +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/cluster_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/__init__.py -> build/lib/magnum/tests/functional/api/v1/clients +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/db +copying magnum/db/migration.py -> build/lib/magnum/db +copying magnum/db/api.py -> build/lib/magnum/db +copying magnum/db/__init__.py -> build/lib/magnum/db 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/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/driver.py -> build/lib/magnum/drivers/common -copying magnum/drivers/common/__init__.py -> build/lib/magnum/drivers/common -creating 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/local_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/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/utils.py -> build/lib/magnum/common -copying magnum/common/urlfetch.py -> build/lib/magnum/common -copying magnum/common/short_id.py -> build/lib/magnum/common -copying magnum/common/service.py -> build/lib/magnum/common -copying magnum/common/rpc_service.py -> build/lib/magnum/common -copying magnum/common/rpc.py -> build/lib/magnum/common -copying magnum/common/profiler.py -> build/lib/magnum/common -copying magnum/common/policy.py -> build/lib/magnum/common -copying magnum/common/octavia.py -> build/lib/magnum/common -copying magnum/common/nova.py -> build/lib/magnum/common -copying magnum/common/neutron.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/exception.py -> build/lib/magnum/common -copying magnum/common/context.py -> build/lib/magnum/common -copying magnum/common/config.py -> build/lib/magnum/common -copying magnum/common/clients.py -> build/lib/magnum/common -copying magnum/common/cinder.py -> build/lib/magnum/common -copying magnum/common/__init__.py -> build/lib/magnum/common -creating 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/test_heat_driver.py -> build/lib/magnum/tests/unit/drivers -copying magnum/tests/unit/drivers/__init__.py -> build/lib/magnum/tests/unit/drivers -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/functional/common +copying magnum/tests/functional/common/utils.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/manager.py -> build/lib/magnum/tests/functional/common +copying magnum/tests/functional/common/datagen.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/client.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/__init__.py -> build/lib/magnum/tests/functional/common +copying magnum/drivers/__init__.py -> build/lib/magnum/drivers +creating 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_x509keypair.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_nodegroup.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/test_fields.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_cluster_template.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/__init__.py -> build/lib/magnum/tests/unit/objects +copying magnum/version.py -> build/lib/magnum +copying magnum/i18n.py -> build/lib/magnum +copying magnum/__init__.py -> build/lib/magnum +creating 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_driver_manage.py -> 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_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 +creating build/lib/magnum/conductor/handlers +copying magnum/conductor/handlers/nodegroup_conductor.py -> build/lib/magnum/conductor/handlers +copying magnum/conductor/handlers/indirection_api.py -> build/lib/magnum/conductor/handlers +copying magnum/conductor/handlers/federation_conductor.py -> build/lib/magnum/conductor/handlers +copying magnum/conductor/handlers/credential_conductor.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/ca_conductor.py -> build/lib/magnum/conductor/handlers +copying magnum/conductor/handlers/__init__.py -> build/lib/magnum/conductor/handlers +creating build/lib/magnum/db/sqlalchemy +copying magnum/db/sqlalchemy/models.py -> build/lib/magnum/db/sqlalchemy +copying magnum/db/sqlalchemy/migration.py -> build/lib/magnum/db/sqlalchemy +copying magnum/db/sqlalchemy/api.py -> build/lib/magnum/db/sqlalchemy +copying magnum/db/sqlalchemy/__init__.py -> build/lib/magnum/db/sqlalchemy +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/link.py -> build/lib/magnum/api/controllers +copying magnum/api/controllers/base.py -> build/lib/magnum/api/controllers +copying magnum/api/controllers/__init__.py -> build/lib/magnum/api/controllers +creating build/lib/magnum/tests/unit/conf +copying magnum/tests/unit/conf/test_conf.py -> build/lib/magnum/tests/unit/conf +copying magnum/tests/unit/conf/__init__.py -> build/lib/magnum/tests/unit/conf +creating 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/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/test_barbican.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/service +copying magnum/service/periodic.py -> build/lib/magnum/service +copying magnum/service/__init__.py -> build/lib/magnum/service 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/test_cert_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 -creating build/lib/magnum/tests/unit/api +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/cert_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/common/x509 +copying magnum/common/x509/validator.py -> build/lib/magnum/common/x509 +copying magnum/common/x509/operations.py -> build/lib/magnum/common/x509 +copying magnum/common/x509/extensions.py -> build/lib/magnum/common/x509 +copying magnum/common/x509/__init__.py -> build/lib/magnum/common/x509 +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/drivers/heat +copying magnum/drivers/heat/template_def.py -> build/lib/magnum/drivers/heat +copying magnum/drivers/heat/k8s_template_def.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/driver.py -> build/lib/magnum/drivers/heat +copying magnum/drivers/heat/__init__.py -> build/lib/magnum/drivers/heat +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 +copying magnum/tests/unit/conductor/handlers/test_nodegroup_conductor.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/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_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_ca_conductor.py -> build/lib/magnum/tests/unit/conductor/handlers +copying magnum/tests/unit/conductor/handlers/__init__.py -> build/lib/magnum/tests/unit/conductor/handlers +creating 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_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_quota.py -> 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_magnum_service.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_credential.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_cluster_actions.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_certificate.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 +creating build/lib/magnum/cmd +copying magnum/cmd/status.py -> build/lib/magnum/cmd +copying magnum/cmd/driver_manage.py -> build/lib/magnum/cmd +copying magnum/cmd/db_manage.py -> 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/__init__.py -> build/lib/magnum/cmd +creating 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_x509keypair.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_nodegroup.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/test_federation.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/test_cluster.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/__init__.py -> build/lib/magnum/tests/unit/db copying magnum/tests/unit/api/utils.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 @@ -2578,6 +2698,9 @@ copying magnum/tests/unit/api/test_app.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/__init__.py -> build/lib/magnum/tests/unit/api +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/conf copying magnum/conf/docker.py -> build/lib/magnum/conf copying magnum/conf/x509.py -> build/lib/magnum/conf @@ -2609,81 +2732,59 @@ copying magnum/conf/barbican.py -> build/lib/magnum/conf copying magnum/conf/api.py -> build/lib/magnum/conf copying magnum/conf/__init__.py -> build/lib/magnum/conf -creating 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/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/test_barbican.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/drivers/__init__.py -> build/lib/magnum/drivers -creating build/lib/magnum/tests/unit/api/controllers +creating 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/test_heat_driver.py -> build/lib/magnum/tests/unit/drivers +copying magnum/tests/unit/drivers/__init__.py -> build/lib/magnum/tests/unit/drivers +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/api/controllers/test_root.py -> 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/__init__.py -> build/lib/magnum/tests/unit/api/controllers -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 -copying magnum/tests/unit/db/utils.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_quota.py -> build/lib/magnum/tests/unit/db -copying magnum/tests/unit/db/test_nodegroup.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/test_federation.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/test_cluster.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/__init__.py -> build/lib/magnum/tests/unit/db -creating 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/clusterpatch_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/cluster_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/cert_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 -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/conductor/handlers/common -copying magnum/conductor/handlers/common/trust_manager.py -> 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/__init__.py -> build/lib/magnum/conductor/handlers/common -creating build/lib/magnum/common/policies -copying magnum/common/policies/stats.py -> build/lib/magnum/common/policies -copying magnum/common/policies/quota.py -> build/lib/magnum/common/policies -copying magnum/common/policies/nodegroup.py -> build/lib/magnum/common/policies -copying magnum/common/policies/magnum_service.py -> build/lib/magnum/common/policies -copying magnum/common/policies/federation.py -> build/lib/magnum/common/policies -copying magnum/common/policies/credential.py -> build/lib/magnum/common/policies -copying magnum/common/policies/cluster_template.py -> build/lib/magnum/common/policies -copying magnum/common/policies/cluster.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 -creating build/lib/magnum/db/sqlalchemy -copying magnum/db/sqlalchemy/models.py -> build/lib/magnum/db/sqlalchemy -copying magnum/db/sqlalchemy/migration.py -> build/lib/magnum/db/sqlalchemy -copying magnum/db/sqlalchemy/api.py -> build/lib/magnum/db/sqlalchemy -copying magnum/db/sqlalchemy/__init__.py -> build/lib/magnum/db/sqlalchemy +creating build/lib/magnum/objects +copying magnum/objects/x509keypair.py -> build/lib/magnum/objects +copying magnum/objects/stats.py -> build/lib/magnum/objects +copying magnum/objects/quota.py -> build/lib/magnum/objects +copying magnum/objects/nodegroup.py -> build/lib/magnum/objects +copying magnum/objects/magnum_service.py -> build/lib/magnum/objects +copying magnum/objects/fields.py -> build/lib/magnum/objects +copying magnum/objects/federation.py -> build/lib/magnum/objects +copying magnum/objects/cluster_template.py -> build/lib/magnum/objects +copying magnum/objects/cluster.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 +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/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 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/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/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 -copying magnum/conductor/utils.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/k8s_api.py -> build/lib/magnum/conductor -copying magnum/conductor/api.py -> build/lib/magnum/conductor -copying magnum/conductor/__init__.py -> build/lib/magnum/conductor -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/common/utils.py -> build/lib/magnum/common +copying magnum/common/urlfetch.py -> build/lib/magnum/common +copying magnum/common/short_id.py -> build/lib/magnum/common +copying magnum/common/service.py -> build/lib/magnum/common +copying magnum/common/rpc_service.py -> build/lib/magnum/common +copying magnum/common/rpc.py -> build/lib/magnum/common +copying magnum/common/profiler.py -> build/lib/magnum/common +copying magnum/common/policy.py -> build/lib/magnum/common +copying magnum/common/octavia.py -> build/lib/magnum/common +copying magnum/common/nova.py -> build/lib/magnum/common +copying magnum/common/neutron.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/exception.py -> build/lib/magnum/common +copying magnum/common/context.py -> build/lib/magnum/common +copying magnum/common/config.py -> build/lib/magnum/common +copying magnum/common/clients.py -> build/lib/magnum/common +copying magnum/common/cinder.py -> build/lib/magnum/common +copying magnum/common/__init__.py -> build/lib/magnum/common copying magnum/tests/unit/common/test_utils.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 @@ -2698,21 +2799,67 @@ copying magnum/tests/unit/common/test_context.py -> 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/__init__.py -> build/lib/magnum/tests/unit/common -creating 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_driver_manage.py -> 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_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/version.py -> build/lib/magnum -copying magnum/i18n.py -> build/lib/magnum -copying magnum/__init__.py -> build/lib/magnum -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/template_def.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/__init__.py -> build/lib/magnum/drivers/k8s_fedora_coreos_v1 +creating 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/clusterpatch_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/cluster_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/cert_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 +creating 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 +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/api/versioned_method.py -> build/lib/magnum/api +copying magnum/api/validation.py -> build/lib/magnum/api +copying magnum/api/utils.py -> build/lib/magnum/api +copying magnum/api/servicegroup.py -> build/lib/magnum/api +copying magnum/api/http_error.py -> build/lib/magnum/api +copying magnum/api/hooks.py -> build/lib/magnum/api +copying magnum/api/expose.py -> build/lib/magnum/api +copying magnum/api/config.py -> build/lib/magnum/api +copying magnum/api/attr_validator.py -> build/lib/magnum/api +copying magnum/api/app.py -> build/lib/magnum/api +copying magnum/api/__init__.py -> build/lib/magnum/api +copying magnum/conductor/utils.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/k8s_api.py -> build/lib/magnum/conductor +copying magnum/conductor/api.py -> build/lib/magnum/conductor +copying magnum/conductor/__init__.py -> build/lib/magnum/conductor +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/hacking +copying magnum/hacking/checks.py -> build/lib/magnum/hacking +copying magnum/hacking/__init__.py -> build/lib/magnum/hacking +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/common/cert_manager +copying magnum/common/cert_manager/x509keypair_cert_manager.py -> build/lib/magnum/common/cert_manager +copying magnum/common/cert_manager/local_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/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/tests/utils.py -> build/lib/magnum/tests +copying magnum/tests/policy_fixture.py -> build/lib/magnum/tests +copying magnum/tests/output_fixture.py -> build/lib/magnum/tests +copying magnum/tests/fakes.py -> build/lib/magnum/tests +copying magnum/tests/fake_notifier.py -> build/lib/magnum/tests +copying magnum/tests/conf_fixture.py -> build/lib/magnum/tests +copying magnum/tests/base.py -> build/lib/magnum/tests +copying magnum/tests/__init__.py -> build/lib/magnum/tests +creating 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/driver.py -> build/lib/magnum/drivers/common +copying magnum/drivers/common/__init__.py -> build/lib/magnum/drivers/common +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/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 @@ -2724,53 +2871,28 @@ copying magnum/tests/unit/common/policies/test_certificate_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/__init__.py -> build/lib/magnum/tests/unit/common/policies -creating 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_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_quota.py -> 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_magnum_service.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_credential.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_cluster_actions.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_certificate.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 -creating 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 -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/db/migration.py -> build/lib/magnum/db -copying magnum/db/api.py -> build/lib/magnum/db -copying magnum/db/__init__.py -> build/lib/magnum/db -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/link.py -> build/lib/magnum/api/controllers -copying magnum/api/controllers/base.py -> build/lib/magnum/api/controllers -copying magnum/api/controllers/__init__.py -> build/lib/magnum/api/controllers -creating 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_x509keypair.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_nodegroup.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/test_fields.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_cluster_template.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/__init__.py -> build/lib/magnum/tests/unit/objects -copying magnum/conductor/handlers/nodegroup_conductor.py -> build/lib/magnum/conductor/handlers -copying magnum/conductor/handlers/indirection_api.py -> build/lib/magnum/conductor/handlers -copying magnum/conductor/handlers/federation_conductor.py -> build/lib/magnum/conductor/handlers -copying magnum/conductor/handlers/credential_conductor.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/ca_conductor.py -> build/lib/magnum/conductor/handlers -copying magnum/conductor/handlers/__init__.py -> build/lib/magnum/conductor/handlers +copying magnum/tests/functional/api/v1/__init__.py -> build/lib/magnum/tests/functional/api/v1 +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_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_k8s_api.py -> build/lib/magnum/tests/unit/conductor +copying magnum/tests/unit/conductor/__init__.py -> build/lib/magnum/tests/unit/conductor +creating build/lib/magnum/common/policies +copying magnum/common/policies/stats.py -> build/lib/magnum/common/policies +copying magnum/common/policies/quota.py -> build/lib/magnum/common/policies +copying magnum/common/policies/nodegroup.py -> build/lib/magnum/common/policies +copying magnum/common/policies/magnum_service.py -> build/lib/magnum/common/policies +copying magnum/common/policies/federation.py -> build/lib/magnum/common/policies +copying magnum/common/policies/credential.py -> build/lib/magnum/common/policies +copying magnum/common/policies/cluster_template.py -> build/lib/magnum/common/policies +copying magnum/common/policies/cluster.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 +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/api/controllers/v1 copying magnum/api/controllers/v1/types.py -> build/lib/magnum/api/controllers/v1 copying magnum/api/controllers/v1/stats.py -> build/lib/magnum/api/controllers/v1 @@ -2785,96 +2907,9 @@ copying magnum/api/controllers/v1/cluster.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/__init__.py -> build/lib/magnum/api/controllers/v1 -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/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/cluster_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/__init__.py -> build/lib/magnum/tests/functional/api/v1/clients -copying magnum/tests/utils.py -> build/lib/magnum/tests -copying magnum/tests/policy_fixture.py -> build/lib/magnum/tests -copying magnum/tests/output_fixture.py -> build/lib/magnum/tests -copying magnum/tests/fakes.py -> build/lib/magnum/tests -copying magnum/tests/fake_notifier.py -> build/lib/magnum/tests -copying magnum/tests/conf_fixture.py -> build/lib/magnum/tests -copying magnum/tests/base.py -> build/lib/magnum/tests -copying magnum/tests/__init__.py -> build/lib/magnum/tests -creating build/lib/magnum/tests/unit/conf -copying magnum/tests/unit/conf/test_conf.py -> build/lib/magnum/tests/unit/conf -copying magnum/tests/unit/conf/__init__.py -> build/lib/magnum/tests/unit/conf -copying magnum/tests/functional/api/v1/__init__.py -> build/lib/magnum/tests/functional/api/v1 -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/conductor/handlers/test_nodegroup_conductor.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/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_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_ca_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/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_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_k8s_api.py -> build/lib/magnum/tests/unit/conductor -copying magnum/tests/unit/conductor/__init__.py -> build/lib/magnum/tests/unit/conductor -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/functional/common -copying magnum/tests/functional/common/utils.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/manager.py -> build/lib/magnum/tests/functional/common -copying magnum/tests/functional/common/datagen.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/client.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/__init__.py -> build/lib/magnum/tests/functional/common -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 -creating build/lib/magnum/drivers/heat -copying magnum/drivers/heat/template_def.py -> build/lib/magnum/drivers/heat -copying magnum/drivers/heat/k8s_template_def.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/driver.py -> build/lib/magnum/drivers/heat -copying magnum/drivers/heat/__init__.py -> build/lib/magnum/drivers/heat -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/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/common/x509 -copying magnum/common/x509/validator.py -> build/lib/magnum/common/x509 -copying magnum/common/x509/operations.py -> build/lib/magnum/common/x509 -copying magnum/common/x509/extensions.py -> build/lib/magnum/common/x509 -copying magnum/common/x509/__init__.py -> build/lib/magnum/common/x509 -creating build/lib/magnum/cmd -copying magnum/cmd/status.py -> build/lib/magnum/cmd -copying magnum/cmd/driver_manage.py -> build/lib/magnum/cmd -copying magnum/cmd/db_manage.py -> 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/__init__.py -> build/lib/magnum/cmd -creating build/lib/magnum/objects -copying magnum/objects/x509keypair.py -> build/lib/magnum/objects -copying magnum/objects/stats.py -> build/lib/magnum/objects -copying magnum/objects/quota.py -> build/lib/magnum/objects -copying magnum/objects/nodegroup.py -> build/lib/magnum/objects -copying magnum/objects/magnum_service.py -> build/lib/magnum/objects -copying magnum/objects/fields.py -> build/lib/magnum/objects -copying magnum/objects/federation.py -> build/lib/magnum/objects -copying magnum/objects/cluster_template.py -> build/lib/magnum/objects -copying magnum/objects/cluster.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 +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 running egg_info creating magnum.egg-info writing magnum.egg-info/PKG-INFO @@ -3343,83 +3378,15 @@ !! check.warn(importable) -copying magnum/api/rest_api_version_history.rst -> build/lib/magnum/api -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 -copying magnum/drivers/common/templates/network.yaml -> build/lib/magnum/drivers/common/templates -creating build/lib/magnum/drivers/common/templates/environments -copying magnum/drivers/common/templates/environments/disable_floating_ip.yaml -> build/lib/magnum/drivers/common/templates/environments -copying magnum/drivers/common/templates/environments/disable_lb_floating_ip.yaml -> build/lib/magnum/drivers/common/templates/environments -copying magnum/drivers/common/templates/environments/enable_floating_ip.yaml -> build/lib/magnum/drivers/common/templates/environments -copying magnum/drivers/common/templates/environments/enable_lb_floating_ip.yaml -> build/lib/magnum/drivers/common/templates/environments -copying magnum/drivers/common/templates/environments/no_etcd_volume.yaml -> build/lib/magnum/drivers/common/templates/environments -copying magnum/drivers/common/templates/environments/no_master_lb.yaml -> build/lib/magnum/drivers/common/templates/environments -copying magnum/drivers/common/templates/environments/no_private_network.yaml -> build/lib/magnum/drivers/common/templates/environments -copying magnum/drivers/common/templates/environments/no_volume.yaml -> build/lib/magnum/drivers/common/templates/environments -copying magnum/drivers/common/templates/environments/with_etcd_volume.yaml -> build/lib/magnum/drivers/common/templates/environments -copying magnum/drivers/common/templates/environments/with_master_lb.yaml -> build/lib/magnum/drivers/common/templates/environments -copying magnum/drivers/common/templates/environments/with_master_lb_octavia.yaml -> build/lib/magnum/drivers/common/templates/environments -copying magnum/drivers/common/templates/environments/with_private_network.yaml -> build/lib/magnum/drivers/common/templates/environments -copying magnum/drivers/common/templates/environments/with_volume.yaml -> build/lib/magnum/drivers/common/templates/environments -creating build/lib/magnum/drivers/common/templates/fragments -copying magnum/drivers/common/templates/fragments/api_gateway_switcher_master.yaml -> build/lib/magnum/drivers/common/templates/fragments -copying magnum/drivers/common/templates/fragments/api_gateway_switcher_pool.yaml -> build/lib/magnum/drivers/common/templates/fragments -copying magnum/drivers/common/templates/fragments/atomic-install-openstack-ca.sh -> build/lib/magnum/drivers/common/templates/fragments -copying magnum/drivers/common/templates/fragments/configure-docker-registry.sh -> build/lib/magnum/drivers/common/templates/fragments -copying magnum/drivers/common/templates/fragments/configure-docker-storage.sh -> build/lib/magnum/drivers/common/templates/fragments -copying magnum/drivers/common/templates/fragments/configure_docker_storage_driver_fedora_coreos.sh -> build/lib/magnum/drivers/common/templates/fragments -copying magnum/drivers/common/templates/fragments/enable-docker-registry.sh -> build/lib/magnum/drivers/common/templates/fragments -copying magnum/drivers/common/templates/fragments/floating_ip_address_switcher_private.yaml -> build/lib/magnum/drivers/common/templates/fragments -copying magnum/drivers/common/templates/fragments/floating_ip_address_switcher_public.yaml -> build/lib/magnum/drivers/common/templates/fragments -copying magnum/drivers/common/templates/fragments/network_switcher_existing.yaml -> build/lib/magnum/drivers/common/templates/fragments -copying magnum/drivers/common/templates/fragments/network_switcher_private.yaml -> build/lib/magnum/drivers/common/templates/fragments -creating build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/add-proxy.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/calico-service-v3-21-x.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/calico-service-v3-26-x.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/configure-etcd.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/configure-kubernetes-master.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/configure-kubernetes-minion.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/core-dns-service.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/disable-selinux.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/enable-auto-healing.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/enable-auto-scaling.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/enable-cert-api-manager.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/enable-cinder-csi.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/enable-ingress-controller.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/enable-ingress-octavia.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/enable-ingress-traefik.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/enable-keystone-auth.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/enable-prometheus-monitoring.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/enable-services-master.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/enable-services-minion.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/flannel-service.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/install-clients.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/install-cri.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/install-helm-modules.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/install-helm.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/kube-apiserver-to-kubelet-role.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/kube-dashboard-service.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/make-cert-client.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/make-cert.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/rotate-kubernetes-ca-certs-master.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/rotate-kubernetes-ca-certs-worker.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/start-container-agent.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/upgrade-kubernetes.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/wc-notify-master.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/write-heat-params-master.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/write-heat-params.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/write-kube-os-config.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -creating build/lib/magnum/drivers/common/templates/kubernetes/helm -copying magnum/drivers/common/templates/kubernetes/helm/ingress-nginx.sh -> build/lib/magnum/drivers/common/templates/kubernetes/helm -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 +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/wsgi +copying magnum/wsgi/api.py -> build/lib/magnum/wsgi 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 @@ -3501,26 +3468,100 @@ 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/wsgi -copying magnum/wsgi/api.py -> build/lib/magnum/wsgi -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/api/rest_api_version_history.rst -> build/lib/magnum/api 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/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 +copying magnum/drivers/common/templates/network.yaml -> build/lib/magnum/drivers/common/templates +creating build/lib/magnum/drivers/common/templates/environments +copying magnum/drivers/common/templates/environments/disable_floating_ip.yaml -> build/lib/magnum/drivers/common/templates/environments +copying magnum/drivers/common/templates/environments/disable_lb_floating_ip.yaml -> build/lib/magnum/drivers/common/templates/environments +copying magnum/drivers/common/templates/environments/enable_floating_ip.yaml -> build/lib/magnum/drivers/common/templates/environments +copying magnum/drivers/common/templates/environments/enable_lb_floating_ip.yaml -> build/lib/magnum/drivers/common/templates/environments +copying magnum/drivers/common/templates/environments/no_etcd_volume.yaml -> build/lib/magnum/drivers/common/templates/environments +copying magnum/drivers/common/templates/environments/no_master_lb.yaml -> build/lib/magnum/drivers/common/templates/environments +copying magnum/drivers/common/templates/environments/no_private_network.yaml -> build/lib/magnum/drivers/common/templates/environments +copying magnum/drivers/common/templates/environments/no_volume.yaml -> build/lib/magnum/drivers/common/templates/environments +copying magnum/drivers/common/templates/environments/with_etcd_volume.yaml -> build/lib/magnum/drivers/common/templates/environments +copying magnum/drivers/common/templates/environments/with_master_lb.yaml -> build/lib/magnum/drivers/common/templates/environments +copying magnum/drivers/common/templates/environments/with_master_lb_octavia.yaml -> build/lib/magnum/drivers/common/templates/environments +copying magnum/drivers/common/templates/environments/with_private_network.yaml -> build/lib/magnum/drivers/common/templates/environments +copying magnum/drivers/common/templates/environments/with_volume.yaml -> build/lib/magnum/drivers/common/templates/environments +creating build/lib/magnum/drivers/common/templates/fragments +copying magnum/drivers/common/templates/fragments/api_gateway_switcher_master.yaml -> build/lib/magnum/drivers/common/templates/fragments +copying magnum/drivers/common/templates/fragments/api_gateway_switcher_pool.yaml -> build/lib/magnum/drivers/common/templates/fragments +copying magnum/drivers/common/templates/fragments/atomic-install-openstack-ca.sh -> build/lib/magnum/drivers/common/templates/fragments +copying magnum/drivers/common/templates/fragments/configure-docker-registry.sh -> build/lib/magnum/drivers/common/templates/fragments +copying magnum/drivers/common/templates/fragments/configure-docker-storage.sh -> build/lib/magnum/drivers/common/templates/fragments +copying magnum/drivers/common/templates/fragments/configure_docker_storage_driver_fedora_coreos.sh -> build/lib/magnum/drivers/common/templates/fragments +copying magnum/drivers/common/templates/fragments/enable-docker-registry.sh -> build/lib/magnum/drivers/common/templates/fragments +copying magnum/drivers/common/templates/fragments/floating_ip_address_switcher_private.yaml -> build/lib/magnum/drivers/common/templates/fragments +copying magnum/drivers/common/templates/fragments/floating_ip_address_switcher_public.yaml -> build/lib/magnum/drivers/common/templates/fragments +copying magnum/drivers/common/templates/fragments/network_switcher_existing.yaml -> build/lib/magnum/drivers/common/templates/fragments +copying magnum/drivers/common/templates/fragments/network_switcher_private.yaml -> build/lib/magnum/drivers/common/templates/fragments +creating build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/add-proxy.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/calico-service-v3-21-x.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/calico-service-v3-26-x.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/configure-etcd.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/configure-kubernetes-master.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/configure-kubernetes-minion.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/core-dns-service.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/disable-selinux.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/enable-auto-healing.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/enable-auto-scaling.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/enable-cert-api-manager.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/enable-cinder-csi.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/enable-ingress-controller.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/enable-ingress-octavia.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/enable-ingress-traefik.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/enable-keystone-auth.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/enable-prometheus-monitoring.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/enable-services-master.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/enable-services-minion.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/flannel-service.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/install-clients.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/install-cri.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/install-helm-modules.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/install-helm.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/kube-apiserver-to-kubelet-role.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/kube-dashboard-service.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/make-cert-client.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/make-cert.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/rotate-kubernetes-ca-certs-master.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/rotate-kubernetes-ca-certs-worker.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/start-container-agent.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/upgrade-kubernetes.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/wc-notify-master.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/write-heat-params-master.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/write-heat-params.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/write-kube-os-config.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +creating build/lib/magnum/drivers/common/templates/kubernetes/helm +copying magnum/drivers/common/templates/kubernetes/helm/ingress-nginx.sh -> build/lib/magnum/drivers/common/templates/kubernetes/helm +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 running install_lib creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/wsgi copying build/lib/magnum/wsgi/api.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/wsgi +creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/servicegroup +copying build/lib/magnum/servicegroup/__init__.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/servicegroup +copying build/lib/magnum/servicegroup/magnum_service_periodic.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/servicegroup +creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking +copying build/lib/magnum/hacking/__init__.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking +copying build/lib/magnum/hacking/checks.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects copying build/lib/magnum/objects/__init__.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects copying build/lib/magnum/objects/base.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects @@ -3534,6 +3575,37 @@ copying build/lib/magnum/objects/quota.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects copying build/lib/magnum/objects/stats.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects copying build/lib/magnum/objects/x509keypair.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects +creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/__init__.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/api.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/barbican.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/certificates.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/cinder.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/cluster.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/cluster_heat.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/cluster_templates.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/conductor.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/database.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/docker_registry.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/drivers.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/glance.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/heat.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/keystone.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/kubernetes.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/magnum_client.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/neutron.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/nova.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/octavia.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/opts.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/paths.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/profiler.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/quota.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/rpc.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/services.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/trust.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/utils.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/x509.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/docker.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd copying build/lib/magnum/cmd/__init__.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd copying build/lib/magnum/cmd/api.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd @@ -3541,19 +3613,116 @@ copying build/lib/magnum/cmd/db_manage.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd copying build/lib/magnum/cmd/driver_manage.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd copying build/lib/magnum/cmd/status.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd +creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/__init__.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/base.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/certificate.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/cluster.py -> /build/reproducible-path/magnum-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/credential.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/federation.py -> /build/reproducible-path/magnum-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/nodegroup.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/quota.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/stats.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +creating /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager +copying build/lib/magnum/common/__init__.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/cinder.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/clients.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/config.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/context.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/exception.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/keystone.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/name_generator.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/neutron.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/nova.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/octavia.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/policy.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/profiler.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/rpc.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/rpc_service.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/service.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/short_id.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/urlfetch.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/utils.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509 +copying build/lib/magnum/common/x509/__init__.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509 +copying build/lib/magnum/common/x509/extensions.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509 +copying build/lib/magnum/common/x509/operations.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509 +copying build/lib/magnum/common/x509/validator.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509 creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/service copying build/lib/magnum/service/__init__.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/service copying build/lib/magnum/service/periodic.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/service +creating /build/reproducible-path/magnum-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/__init__.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/app.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/attr_validator.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/config.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/expose.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/hooks.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/http_error.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/servicegroup.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/utils.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/validation.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/versioned_method.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware +copying build/lib/magnum/api/middleware/__init__.py -> /build/reproducible-path/magnum-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware +creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers +creating /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/credential.py -> /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers +copying build/lib/magnum/api/controllers/base.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers +copying build/lib/magnum/api/controllers/link.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers +copying build/lib/magnum/api/controllers/root.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers +copying build/lib/magnum/api/controllers/versions.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers +creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor +copying build/lib/magnum/conductor/__init__.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor +copying build/lib/magnum/conductor/api.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor +copying build/lib/magnum/conductor/k8s_api.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor +copying build/lib/magnum/conductor/monitors.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor +copying build/lib/magnum/conductor/scale_manager.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor +copying build/lib/magnum/conductor/utils.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor +creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks +copying build/lib/magnum/conductor/tasks/__init__.py -> /build/reproducible-path/magnum-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks +creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers +creating /build/reproducible-path/magnum-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common +copying build/lib/magnum/conductor/handlers/__init__.py -> /build/reproducible-path/magnum-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers +copying build/lib/magnum/conductor/handlers/credential_conductor.py -> /build/reproducible-path/magnum-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers copying build/lib/magnum/__init__.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum copying build/lib/magnum/i18n.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum copying build/lib/magnum/version.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum -creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking -copying build/lib/magnum/hacking/__init__.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking -copying build/lib/magnum/hacking/checks.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db -copying build/lib/magnum/db/__init__.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db -copying build/lib/magnum/db/api.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db -copying build/lib/magnum/db/migration.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions @@ -3640,242 +3809,9 @@ copying build/lib/magnum/db/sqlalchemy/api.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy copying build/lib/magnum/db/sqlalchemy/migration.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy copying build/lib/magnum/db/sqlalchemy/models.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy -creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor -creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks -copying build/lib/magnum/conductor/tasks/__init__.py -> /build/reproducible-path/magnum-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks -copying build/lib/magnum/conductor/__init__.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor -copying build/lib/magnum/conductor/api.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor -copying build/lib/magnum/conductor/k8s_api.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor -copying build/lib/magnum/conductor/monitors.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor -copying build/lib/magnum/conductor/scale_manager.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor -copying build/lib/magnum/conductor/utils.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor -creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers -copying build/lib/magnum/conductor/handlers/__init__.py -> /build/reproducible-path/magnum-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers -copying build/lib/magnum/conductor/handlers/credential_conductor.py -> /build/reproducible-path/magnum-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers -creating /build/reproducible-path/magnum-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common -creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/servicegroup -copying build/lib/magnum/servicegroup/__init__.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/servicegroup -copying build/lib/magnum/servicegroup/magnum_service_periodic.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/servicegroup -creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/__init__.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/api.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/barbican.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/certificates.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/cinder.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/cluster.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/cluster_heat.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/cluster_templates.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/conductor.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/database.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/docker_registry.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/drivers.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/glance.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/heat.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/keystone.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/kubernetes.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/magnum_client.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/neutron.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/nova.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/octavia.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/opts.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/paths.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/profiler.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/quota.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/rpc.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/services.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/trust.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/utils.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/x509.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/docker.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509 -copying build/lib/magnum/common/x509/__init__.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509 -copying build/lib/magnum/common/x509/extensions.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509 -copying build/lib/magnum/common/x509/operations.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509 -copying build/lib/magnum/common/x509/validator.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509 -creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/__init__.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/base.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/certificate.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/cluster.py -> /build/reproducible-path/magnum-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/credential.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/federation.py -> /build/reproducible-path/magnum-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/nodegroup.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/quota.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/stats.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/__init__.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/cinder.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/clients.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/config.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/context.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/exception.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/keystone.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/name_generator.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/neutron.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/nova.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/octavia.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/policy.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/profiler.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/rpc.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/rpc_service.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/service.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/short_id.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/urlfetch.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/utils.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -creating /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager -creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers -creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat -copying build/lib/magnum/drivers/heat/__init__.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat -copying build/lib/magnum/drivers/heat/driver.py -> /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat -creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1 -creating /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.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-21.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/__init__.py -> /build/reproducible-path/magnum-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1 -copying build/lib/magnum/drivers/__init__.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers -creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common -creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates -creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes -creating /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/helm -creating /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -creating /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments -creating /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments -copying build/lib/magnum/drivers/common/templates/network.yaml -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates -copying build/lib/magnum/drivers/common/templates/lb_etcd.yaml -> /build/reproducible-path/magnum-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates -copying build/lib/magnum/drivers/common/__init__.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common -copying build/lib/magnum/drivers/common/driver.py -> /build/reproducible-path/magnum-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common -creating /build/reproducible-path/magnum-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers -creating /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/credential.py -> /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers -copying build/lib/magnum/api/controllers/base.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers -copying build/lib/magnum/api/controllers/link.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers -copying build/lib/magnum/api/controllers/root.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers -copying build/lib/magnum/api/controllers/versions.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers -creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware -copying build/lib/magnum/api/middleware/__init__.py -> /build/reproducible-path/magnum-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware -copying build/lib/magnum/api/__init__.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/app.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/attr_validator.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/config.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/expose.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/hooks.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/http_error.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/servicegroup.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/utils.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/validation.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/versioned_method.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/db/__init__.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db +copying build/lib/magnum/db/api.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db +copying build/lib/magnum/db/migration.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/releasenotes creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/releasenotes/notes @@ -3893,81 +3829,51 @@ copying build/lib/magnum/tests/policy_fixture.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests copying build/lib/magnum/tests/utils.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit +creating /build/reproducible-path/magnum-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/template creating /build/reproducible-path/magnum-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/servicegroup creating /build/reproducible-path/magnum-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/service -copying build/lib/magnum/tests/unit/__init__.py -> /build/reproducible-path/magnum-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit -creating /build/reproducible-path/magnum-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conf -creating /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects -creating /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd -creating /build/reproducible-path/magnum-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/template -creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common -creating /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509 -creating /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies -copying build/lib/magnum/tests/unit/common/__init__.py -> /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common -creating /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager +creating /build/reproducible-path/magnum-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers +creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db +creating /build/reproducible-path/magnum-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/sqlalchemy +copying build/lib/magnum/tests/unit/db/__init__.py -> /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api +copying build/lib/magnum/tests/unit/api/__init__.py -> /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api creating /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers creating /build/reproducible-path/magnum-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 @@ -3982,28 +3888,18 @@ copying build/lib/magnum/tests/unit/api/controllers/v1/test_stats.py -> /build/reproducible-path/magnum-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 -copying build/lib/magnum/tests/unit/api/controllers/__init__.py -> /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api +copying build/lib/magnum/tests/unit/__init__.py -> /build/reproducible-path/magnum-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor -creating /build/reproducible-path/magnum-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/tasks copying build/lib/magnum/tests/unit/conductor/__init__.py -> /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor +creating /build/reproducible-path/magnum-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/tasks creating /build/reproducible-path/magnum-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers @@ -4017,25 +3913,72 @@ copying build/lib/magnum/tests/unit/conductor/handlers/common/__init__.py -> /build/reproducible-path/magnum-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common -creating /build/reproducible-path/magnum-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers -creating /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db -creating /build/reproducible-path/magnum-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/sqlalchemy +creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common +creating /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies +creating /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509 +copying build/lib/magnum/tests/unit/common/__init__.py -> /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common +creating /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager +creating /build/reproducible-path/magnum-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conf +creating /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd +creating /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional +creating /build/reproducible-path/magnum-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_fcos +creating /build/reproducible-path/magnum-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s creating /build/reproducible-path/magnum-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common @@ -4045,17 +3988,16 @@ copying build/lib/magnum/tests/functional/common/manager.py -> /build/reproducible-path/magnum-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common +creating /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional creating /build/reproducible-path/magnum-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api creating /build/reproducible-path/magnum-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1 -creating /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients creating /build/reproducible-path/magnum-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models @@ -4065,19 +4007,116 @@ copying build/lib/magnum/tests/functional/api/v1/models/cluster_templatepatch_model.py -> /build/reproducible-path/magnum-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models -copying build/lib/magnum/tests/functional/api/__init__.py -> /build/reproducible-path/magnum-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api -creating /build/reproducible-path/magnum-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_fcos -creating /build/reproducible-path/magnum-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_ironic -creating /build/reproducible-path/magnum-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s +creating /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients +creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers +creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common +creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates +creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes +creating /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/helm +creating /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +creating /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments +creating /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments +copying build/lib/magnum/drivers/common/templates/network.yaml -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates +copying build/lib/magnum/drivers/common/templates/lb_etcd.yaml -> /build/reproducible-path/magnum-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates +copying build/lib/magnum/drivers/common/__init__.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common +copying build/lib/magnum/drivers/common/driver.py -> /build/reproducible-path/magnum-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common +creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat +copying build/lib/magnum/drivers/heat/__init__.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat +copying build/lib/magnum/drivers/heat/driver.py -> /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat +copying build/lib/magnum/drivers/__init__.py -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers +creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1 +creating /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.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-21.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/__init__.py -> /build/reproducible-path/magnum-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1 byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/wsgi/api.py to api.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/servicegroup/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking/checks.py to checks.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/base.py to base.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/certificate.py to certificate.cpython-313.pyc @@ -4090,22 +4129,137 @@ byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/quota.py to quota.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/stats.py to stats.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/x509keypair.py to x509keypair.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/api.py to api.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/barbican.py to barbican.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/certificates.py to certificates.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/cinder.py to cinder.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/cluster.py to cluster.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/conductor.py to conductor.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/database.py to database.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/drivers.py to drivers.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/glance.py to glance.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/heat.py to heat.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/keystone.py to keystone.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/kubernetes.py to kubernetes.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/neutron.py to neutron.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/nova.py to nova.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/octavia.py to octavia.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/opts.py to opts.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/paths.py to paths.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/profiler.py to profiler.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/quota.py to quota.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/rpc.py to rpc.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/services.py to services.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/trust.py to trust.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/utils.py to utils.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/x509.py to x509.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/docker.py to docker.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/api.py to api.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/conductor.py to conductor.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/status.py to status.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/credential.py to credential.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cinder.py to cinder.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/clients.py to clients.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/config.py to config.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/context.py to context.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/exception.py to exception.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/keystone.py to keystone.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/neutron.py to neutron.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/nova.py to nova.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/octavia.py to octavia.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policy.py to policy.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/profiler.py to profiler.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/rpc.py to rpc.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/service.py to service.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/urlfetch.py to urlfetch.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/utils.py to utils.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/service/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/service/periodic.py to periodic.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/app.py to app.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/config.py to config.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/expose.py to expose.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/hooks.py to hooks.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/servicegroup.py to servicegroup.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/utils.py to utils.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/validation.py to validation.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/credential.py to credential.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/api.py to api.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/monitors.py to monitors.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/utils.py to utils.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/credential_conductor.py to credential_conductor.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/i18n.py to i18n.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/version.py to version.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking/checks.py to checks.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/api.py to api.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/migration.py to migration.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.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-21.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-21.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 @@ -4186,143 +4340,9 @@ byte-compiling /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/api.py to api.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/monitors.py to monitors.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/utils.py to utils.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/credential_conductor.py to credential_conductor.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/servicegroup/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/api.py to api.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/barbican.py to barbican.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/certificates.py to certificates.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/cinder.py to cinder.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/cluster.py to cluster.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/conductor.py to conductor.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/database.py to database.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/drivers.py to drivers.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/glance.py to glance.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/heat.py to heat.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/keystone.py to keystone.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/kubernetes.py to kubernetes.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/neutron.py to neutron.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/nova.py to nova.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/octavia.py to octavia.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/opts.py to opts.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/paths.py to paths.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/profiler.py to profiler.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/quota.py to quota.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/rpc.py to rpc.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/services.py to services.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/trust.py to trust.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/utils.py to utils.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/x509.py to x509.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/docker.py to docker.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/credential.py to credential.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cinder.py to cinder.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/clients.py to clients.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/config.py to config.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/context.py to context.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/exception.py to exception.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/keystone.py to keystone.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/neutron.py to neutron.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/nova.py to nova.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/octavia.py to octavia.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policy.py to policy.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/profiler.py to profiler.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/rpc.py to rpc.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/service.py to service.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/urlfetch.py to urlfetch.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/utils.py to utils.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/credential.py to credential.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/app.py to app.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/config.py to config.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/expose.py to expose.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/hooks.py to hooks.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/servicegroup.py to servicegroup.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/utils.py to utils.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/validation.py to validation.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/api.py to api.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/migration.py to migration.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/base.py to base.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/conf_fixture.py to conf_fixture.cpython-313.pyc @@ -4331,36 +4351,73 @@ byte-compiling /build/reproducible-path/magnum-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/utils.py to utils.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_credential.py to test_credential.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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 @@ -4371,6 +4428,10 @@ byte-compiling /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_context.py to test_context.cpython-313.pyc @@ -4390,65 +4451,29 @@ byte-compiling /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_credential.py to test_credential.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/client.py to client.cpython-313.pyc @@ -4457,14 +4482,13 @@ byte-compiling /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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 @@ -4473,15 +4497,26 @@ byte-compiling /build/reproducible-path/magnum-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.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-21.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-21.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-21.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/version.py to version.cpython-313.pyc running install_data creating /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/etc/magnum copying etc/magnum/api-paste.ini -> /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/etc/magnum @@ -4505,36 +4540,62 @@ + 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 ++ for i in $@ ++ case "${1}" in ++ for i in $@ ++ case "${1}" in ++ for i in $@ ++ case "${1}" in +++ py3versions -vr + PYTHON3S=3.13 -+ [ yes = no ] -+ [ no = yes ] -+ [ 3.13 = disabled ] -+ echo 3.13 -+ cut -d. -f1 ++ '[' yes = no ']' ++ '[' no = yes ']' ++ 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-21.0.0/debian/tmp/usr/lib/python3/dist-packages ] -+ [ -z ] -+ pwd -+ echo Implicitly adding PYTHONPATH=/build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages +++ pwd ++ '[' -d /build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages ']' ++ '[' -z '' ']' +++ pwd ++ echo 'Implicitly adding PYTHONPATH=/build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages' Implicitly adding PYTHONPATH=/build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages -+ pwd +++ pwd + export PYTHONPATH=/build/reproducible-path/magnum-21.0.0/debian/tmp/usr/lib/python3/dist-packages -+ [ -e .stestr.conf ] -+ [ -x /usr/bin/python3-stestr ] ++ PYTHONPATH=/build/reproducible-path/magnum-21.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 --parallel --subunit --concurrency 2subunit2pyunit 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 ++ 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))' 1 RLock(s) were not greened, to fix this error make sure you run eventlet.monkey_patch() before importing any other modules. 1 RLock(s) were not greened, to fix this error make sure you run eventlet.monkey_patch() before importing any other modules. 1 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_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.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 +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.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.TestHeathcheck.test_healthcheck_enabled +magnum.tests.unit.api.controllers.test_root.TestHeathcheck.test_healthcheck_enabled ... 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 @@ -4553,6 +4614,8 @@ magnum.tests.unit.api.controllers.test_base.TestVersion.test__eq__with_unequal ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test__ge__with_equal magnum.tests.unit.api.controllers.test_base.TestVersion.test__ge__with_equal ... 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_base.TestVersion.test__ge__with_higher_version magnum.tests.unit.api.controllers.test_base.TestVersion.test__ge__with_higher_version ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test__ge__with_lower_version @@ -4565,8 +4628,12 @@ magnum.tests.unit.api.controllers.test_base.TestVersion.test__gt__with_lower_major_version ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test__gt__with_lower_minor_version magnum.tests.unit.api.controllers.test_base.TestVersion.test__gt__with_lower_minor_version ... 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_base.TestVersion.test__le__with_equal magnum.tests.unit.api.controllers.test_base.TestVersion.test__le__with_equal ... 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.test_base.TestVersion.test__le__with_higher_version magnum.tests.unit.api.controllers.test_base.TestVersion.test__le__with_higher_version ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test__le__with_lower_version @@ -4575,8 +4642,12 @@ magnum.tests.unit.api.controllers.test_base.TestVersion.test__lt__with_higher_major_version ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test__lt__with_higher_minor_version magnum.tests.unit.api.controllers.test_base.TestVersion.test__lt__with_higher_minor_version ... 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_base.TestVersion.test__lt__with_lower_major_version magnum.tests.unit.api.controllers.test_base.TestVersion.test__lt__with_lower_major_version ... 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_base.TestVersion.test__lt__with_lower_minor_version magnum.tests.unit.api.controllers.test_base.TestVersion.test__lt__with_lower_minor_version ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test__ne__with_equal @@ -4585,6 +4656,8 @@ magnum.tests.unit.api.controllers.test_base.TestVersion.test__ne__with_unequal ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test_init magnum.tests.unit.api.controllers.test_base.TestVersion.test_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_base.TestVersion.test_is_null_false 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 @@ -4611,86 +4684,277 @@ 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.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_base.TestVersion.test_repr magnum.tests.unit.api.controllers.test_base.TestVersion.test_repr ... 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 -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 -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_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.TestDelete.test_delete_cluster_with_name +magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster_with_name ... ok INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. -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_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 INFO [alembic.runtime.migration] Running stamp_revision -> c0f832afc4fd -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.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.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.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.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_cluster_actions.TestClusterUpgrade.test_upgrade +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade ... 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.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 +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.test_root.TestRootController.test_noauth magnum.tests.unit.api.controllers.test_root.TestRootController.test_noauth ... 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_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.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_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_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_links -magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_links ... 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_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.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.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_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_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.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_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_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 +magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one ... ok +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.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 +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.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 +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.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 +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.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 +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.12 +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.12 +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/0ec1317b-c33a-42ec-9954-15e03a1dbd3c +GOT:Response: 204 No Content +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version + +DELETE: /v1/clusters/c302e3a2-2c77-4daf-93d8-843b994879c5 +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +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 c302e3a2-2c77-4daf-93d8-843b994879c5 could not be found", "detail": "Cluster c302e3a2-2c77-4daf-93d8-843b994879c5 could not be found.", "links": []}]} +DELETE: /v1/clusters/cluster1 +GOT:Response: 204 No Content +Openstack-Api-Maximum-Version: container-infra 1.12 +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.12 +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.12 +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": []}]} +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.12 +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/dbe9a867-25c6-4d96-ac16-ad5417823136/actions/upgrade {'cluster_template': 'test_2'} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.8 +Vary: OpenStack-API-Version +{"uuid": "dbe9a867-25c6-4d96-ac16-ad5417823136"} +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.12 +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'} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +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': '5e5c40cb-6083-43ec-9b67-656d4867625a'} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +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': '84b0fc1d-a4bd-4b3f-98c3-7fad5a4df1a6'} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +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.12 +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.12 +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.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_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_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_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_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_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_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_certificate.TestGetCaCertificate.test_links +magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_links ... 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.TestClusterObject.test_cluster_init -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterObject.test_cluster_init ... 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_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.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_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.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_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_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_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 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'}], 'credentials': [{'href': 'http://localhost/v1/credentials/', 'rel': 'self'}, {'href': 'http://localhost/credentials/', '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.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 +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.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 +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.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 +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 {} @@ -4717,30 +4981,6 @@ 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.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -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.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -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.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -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: 400 Bad Request Content-Type: application/json @@ -4765,7 +5005,7 @@ 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/5fb1b6a1-c2d9-45d2-8698-6fed303078d5/detail {} +GET: /v1/clusters/011dedd9-b92d-4e80-8bed-8455422f1b87/detail {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 @@ -4776,69 +5016,79 @@ 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.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_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 -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.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.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.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.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.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.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.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.TestDelete.test_delete_multiple_cluster_by_name -magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_multiple_cluster_by_name ... ok -POST: /v1/certificates {'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'csr': 'fake-csr', 'pem': 'fake-pem'} -GOT:Response: 403 Forbidden + +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.12 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 +Openstack-Api-Version: container-infra 1.9 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 +{"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": []}]} +DELETE: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 +GOT:Response: 204 No Content +Openstack-Api-Maximum-Version: container-infra 1.12 +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 Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 +Openstack-Api-Version: container-infra 1.1 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 +{"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/75bc250b-b005-4e50-88c4-76c45e0cce42 +GOT:Response: 204 No Content +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version + +DELETE: /v1/clustertemplates/00350f6a-154e-4fb2-8a59-8fd743ed8816 +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 +Openstack-Api-Version: container-infra 1.1 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": []}]} -PATCH: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:Response: 202 Accepted +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "ClusterTemplate 00350f6a-154e-4fb2-8a59-8fd743ed8816 could not be found", "detail": "ClusterTemplate 00350f6a-154e-4fb2-8a59-8fd743ed8816 could not be found.", "links": []}]} +DELETE: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 +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': '/foo', 'value': 'bar', 'op': 'add'}] +{"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.12 +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.12 +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.12 +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": []}]} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 @@ -4846,23 +5096,105 @@ 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'}] +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/image_id', 'value': 'img', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 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": 400, "title": "img", "detail": "img", "links": []}]} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/image_id', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 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'}] +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/image_id' is a mandatory attribute and can not be removed", "detail": "'/image_id' is a mandatory attribute and can not be removed", "links": []}]} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/coe', 'op': 'remove'}] +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +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": "'/coe' is a mandatory attribute and can not be removed", "detail": "'/coe' is a mandatory attribute and can not be removed", "links": []}]} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/external_network_id', 'op': 'remove'}] +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +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": "'/external_network_id' is a mandatory attribute and can not be removed", "detail": "'/external_network_id' is a mandatory attribute and can not be removed", "links": []}]} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/server_type', 'op': 'remove'}] +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +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": "'/server_type' is a mandatory attribute and can not be removed", "detail": "'/server_type' is a mandatory attribute and can not be removed", "links": []}]} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/tls_disabled', 'op': 'remove'}] +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +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": "'/tls_disabled' is a mandatory attribute and can not be removed", "detail": "'/tls_disabled' is a mandatory attribute and can not be removed", "links": []}]} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/public', 'op': 'remove'}]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.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_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.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_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.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_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.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_template.TestPatch.test_replace_cluster_template_with_invalid_flavor +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_invalid_flavor ... ok + +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +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": "'/public' is a mandatory attribute and can not be removed", "detail": "'/public' is a mandatory attribute and can not be removed", "links": []}]} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/registry_enabled', 'op': 'remove'}] +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +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": []}]} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/cluster_distro', 'op': 'remove'}] +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +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_distro' is a mandatory attribute and can not be removed", "detail": "'/cluster_distro' is a mandatory attribute and can not be removed", "links": []}]} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/network_driver', 'op': 'remove'}] +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +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": "'/network_driver' is a mandatory attribute and can not be removed", "detail": "'/network_driver' is a mandatory attribute and can not be removed", "links": []}]} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 @@ -4870,45 +5202,50 @@ 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-11-09T01:06:52.800035+00:00', 'updated_at': None} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/node_count', 'op': 'remove'}] -GOT:Response: 202 Accepted +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': '2025-10-06T18:47:57.587024+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 Openstack-Api-Maximum-Version: container-infra 1.12 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-11-09T01:06:52.800035+00:00', 'updated_at': '2026-11-09T01:06:52.895779+00:00'} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/name', 'value': 'cluster_example_B', '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": 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-10-06T18:47:57.587024+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': '2025-10-06T18:47:57.587024+00:00', 'updated_at': '2025-10-06T18:47:57.616283+00:00'} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 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": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/cluster_template_id', 'value': '371c725d-b80c-4aa3-8c74-77461a5bb5e4', 'op': 'replace'}] +{"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/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/flavor_id', 'value': 'aaa', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 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_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 +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Flavor with zero root volume size is not supported when boot_volume_size is zero", "detail": "Flavor with zero root volume size is not supported when boot_volume_size is zero.", "links": []}]} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/external_network_id', 'value': 'aaa', 'op': 'replace'}]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.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_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_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_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.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_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 GET: /v1/clusters {} GOT:Response: 403 Forbidden @@ -4958,175 +5295,242 @@ 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: 204 No Content +GET: /v1/clusters/?limit=3 {} +GOT:{'clusters': [{'uuid': '67ffcb85-99fd-4d28-b554-c059b74bf953', '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/67ffcb85-99fd-4d28-b554-c059b74bf953', 'rel': 'self'}, {'href': 'http://localhost/clusters/67ffcb85-99fd-4d28-b554-c059b74bf953', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'f684c747-9ee8-4005-8312-08bbdd3f275b', '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/f684c747-9ee8-4005-8312-08bbdd3f275b', 'rel': 'self'}, {'href': 'http://localhost/clusters/f684c747-9ee8-4005-8312-08bbdd3f275b', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '27f6df29-c634-444b-8d6f-a95e0691ca28', '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/27f6df29-c634-444b-8d6f-a95e0691ca28', 'rel': 'self'}, {'href': 'http://localhost/clusters/27f6df29-c634-444b-8d6f-a95e0691ca28', '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=27f6df29-c634-444b-8d6f-a95e0691ca28'} +GET: /v1/clusters {} +GOT:{'clusters': [{'uuid': '030c88e2-1288-407d-84c4-e262cc266dc2', '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/030c88e2-1288-407d-84c4-e262cc266dc2', 'rel': 'self'}, {'href': 'http://localhost/clusters/030c88e2-1288-407d-84c4-e262cc266dc2', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '6e8145dd-e76e-4815-acc4-8fe59e021c53', '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/6e8145dd-e76e-4815-acc4-8fe59e021c53', 'rel': 'self'}, {'href': 'http://localhost/clusters/6e8145dd-e76e-4815-acc4-8fe59e021c53', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '30d99710-6112-4ec7-a1e6-333dd50e1762', '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/30d99710-6112-4ec7-a1e6-333dd50e1762', 'rel': 'self'}, {'href': 'http://localhost/clusters/30d99710-6112-4ec7-a1e6-333dd50e1762', '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=30d99710-6112-4ec7-a1e6-333dd50e1762'} +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-10-06T18:47:57.849124+00:00', 'updated_at': None}]}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.12 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 +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "aaa", "detail": "aaa", "links": []}]} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/flavor_id', 'value': 'aaa', 'op': 'replace'}] +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 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/3dedd277-5568-4e87-8aef-1ae65d9a7970 -GOT:Response: 204 No Content +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "aaa", "detail": "aaa", "links": []}]} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/image_id', 'value': 'aaa', 'op': 'replace'}] +GOT:Response: 400 Bad Request +Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version - -DELETE: /v1/clusters/258981c8-0f7a-4767-b584-130da1bdb7dc +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "aaa", "detail": "aaa", "links": []}]} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/keypair_id', 'value': 'aaa', 'op': 'replace'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 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 258981c8-0f7a-4767-b584-130da1bdb7dc could not be found", "detail": "Cluster 258981c8-0f7a-4767-b584-130da1bdb7dc could not be found.", "links": []}]} -DELETE: /v1/clusters/cluster1 -GOT:Response: 204 No Content +{"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.12 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 +{"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-10-06T18:47:57.795351+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-10-06T18:47:57.795351+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} +PATCH: /v1/clustertemplates/eb826c56-39a5-4c2b-99cd-6503cc1007f1 [{'path': '/name', 'value': 'cluster_model_example_B', 'op': 'replace'}] +GOT:Response: 200 OK Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 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 +{"uuid": "eb826c56-39a5-4c2b-99cd-6503cc1007f1", "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/eb826c56-39a5-4c2b-99cd-6503cc1007f1", "rel": "self"}, {"href": "http://localhost/clustertemplates/eb826c56-39a5-4c2b-99cd-6503cc1007f1", "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": "eb826c56-39a5-4c2b-99cd-6503cc1007f1", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2025-10-06T18:47:57.838292+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.12 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': '0729bc84-2600-4c34-9209-e75c5924700c', '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/0729bc84-2600-4c34-9209-e75c5924700c', 'rel': 'self'}, {'href': 'http://localhost/clusters/0729bc84-2600-4c34-9209-e75c5924700c', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'b2a8fef6-a066-46ef-880a-cd1641a43833', '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/b2a8fef6-a066-46ef-880a-cd1641a43833', 'rel': 'self'}, {'href': 'http://localhost/clusters/b2a8fef6-a066-46ef-880a-cd1641a43833', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '593b18df-5d06-4644-9776-91c028a80cc0', '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/593b18df-5d06-4644-9776-91c028a80cc0', 'rel': 'self'}, {'href': 'http://localhost/clusters/593b18df-5d06-4644-9776-91c028a80cc0', '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=593b18df-5d06-4644-9776-91c028a80cc0'} -GET: /v1/clusters {} -GOT:{'clusters': [{'uuid': '5754c017-01d7-455b-903b-aeec907cb4e2', '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/5754c017-01d7-455b-903b-aeec907cb4e2', 'rel': 'self'}, {'href': 'http://localhost/clusters/5754c017-01d7-455b-903b-aeec907cb4e2', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'e6913ee5-9398-4e49-afbd-def057bf5fac', '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/e6913ee5-9398-4e49-afbd-def057bf5fac', 'rel': 'self'}, {'href': 'http://localhost/clusters/e6913ee5-9398-4e49-afbd-def057bf5fac', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '7a2abe5f-0e3c-4d63-85c6-c06c15fe11af', '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/7a2abe5f-0e3c-4d63-85c6-c06c15fe11af', 'rel': 'self'}, {'href': 'http://localhost/clusters/7a2abe5f-0e3c-4d63-85c6-c06c15fe11af', '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=7a2abe5f-0e3c-4d63-85c6-c06c15fe11af'}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.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_detail_against_single -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail_against_single ... ok +{"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-10-06T18:47:57.870715+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-10-06T18:47:57.870715+00:00', 'updated_at': '2025-10-06T18:47:57.901351+00:00'}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_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.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.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_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_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_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 -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_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 -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 +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.12 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-11-09T01:06:53.040742+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'}] +{"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-10-06T18:47:57.928758+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.12 +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-10-06T18:47:57.976619+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-10-06T18:47:57.976619+00:00', 'updated_at': '2025-10-06T18:47:57.996587+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 Openstack-Api-Maximum-Version: container-infra 1.12 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/54658bb9-c65b-4efd-857d-8fd244a52baf [{'path': '/name', 'value': 'cluster_example_B', 'op': 'replace'}] -GOT:Response: 404 Not Found +{"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": []}]} +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.12 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 54658bb9-c65b-4efd-857d-8fd244a52baf could not be found", "detail": "Cluster 54658bb9-c65b-4efd-857d-8fd244a52baf could not be found.", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/cluster_template_id', 'value': '17bda1d8-ec0c-4f1f-b24a-10174db5629e', 'op': 'replace'}] -GOT:Response: 400 Bad Request +{"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-10-06T18:47:58.066753+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-10-06T18:47:58.066753+00:00', 'updated_at': '2025-10-06T18:47:58.097138+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 Openstack-Api-Maximum-Version: container-infra 1.12 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 +{"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-10-06T18:47:58.115632+00:00", "updated_at": null}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_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_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_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.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_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_credential.TestPatch.test_rotate +magnum.tests.unit.api.controllers.v1.test_credential.TestPatch.test_rotate ... 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 +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one ... ok + +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'}] +GOT:Response: 200 OK Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 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-11-09T01:06:53.229724+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 +{"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-10-06T18:47:58.233864+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-10-06T18:47:58.233864+00:00', 'updated_at': '2025-10-06T18:47:58.269006+00:00'} +PATCH: /v1/clustertemplates/9910fd08-4331-4840-901e-6cdc60cb782c [{'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.12 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-11-09T01:06:53.303726+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 +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "ClusterTemplate 9910fd08-4331-4840-901e-6cdc60cb782c could not be found", "detail": "ClusterTemplate 9910fd08-4331-4840-901e-6cdc60cb782c 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.12 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'}] +{"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-10-06T18:47:58.385807+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-10-06T18:47:58.385807+00:00', 'updated_at': '2025-10-06T18:47:58.404411+00:00'} +PATCH: /v1/credentials/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 +Vary: OpenStack-API-Version +{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} +DELETE: /v1/federations/35fe632f-8ca9-4f9e-b413-b0e2ef7fd3a0 +GOT:Response: 204 No Content +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version + +GET: /v1/federations/35fe632f-8ca9-4f9e-b413-b0e2ef7fd3a0 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 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/29350791-5b8c-4c9a-adde-23b38da741a1 [{'path': '/cluster_id', 'value': '29350791-5b8c-4c9a-adde-23b38da741a1', 'op': 'replace'}] +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation 35fe632f-8ca9-4f9e-b413-b0e2ef7fd3a0 could not be found", "detail": "Federation 35fe632f-8ca9-4f9e-b413-b0e2ef7fd3a0 could not be found.", "links": []}]} +DELETE: /v1/federations/9e877f89-04c9-4b2d-916f-1cd0c39d04d0 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 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 29350791-5b8c-4c9a-adde-23b38da741a1 could not be found", "detail": "Cluster 29350791-5b8c-4c9a-adde-23b38da741a1 could not be found.", "links": []}]}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_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_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 -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_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.TestPatch.test_update_cluster_with_rollback_enabled -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_rollback_enabled ... ok +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation 9e877f89-04c9-4b2d-916f-1cd0c39d04d0 could not be found", "detail": "Federation 9e877f89-04c9-4b2d-916f-1cd0c39d04d0 could not be found.", "links": []}]}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.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_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_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_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_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_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 -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-11-09T01:06:53.237709+00:00', 'updated_at': None}]} GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/detail {} GOT:Response: 404 Not Found Content-Type: application/json @@ -5135,416 +5539,952 @@ 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=abfc6597-c908-4b16-bdd4-fba3c32e394f {} -GOT:{'clusters': [{'uuid': '22519404-8116-4589-adca-3961cc022c6c', '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/22519404-8116-4589-adca-3961cc022c6c', 'rel': 'self'}, {'href': 'http://localhost/clusters/22519404-8116-4589-adca-3961cc022c6c', '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-11-09T01:06:53.328019+00:00', 'updated_at': None}]} +GET: /v1/clusters/detail?limit=3&marker=7306eec3-951a-4fe2-b9f8-d8e48a831cdd {} +GOT:{'clusters': [{'uuid': '6a7e1ff9-71f9-44b8-95fe-941c2c25655a', '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/6a7e1ff9-71f9-44b8-95fe-941c2c25655a', 'rel': 'self'}, {'href': 'http://localhost/clusters/6a7e1ff9-71f9-44b8-95fe-941c2c25655a', '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-10-06T18:47:57.990358+00:00', 'updated_at': None}]} GET: /v1/clusters {} GOT:{'clusters': []} GET: /v1/clusters {} -GOT:{'clusters': [{'uuid': '7821c826-a0a9-4aaf-a49e-83b85fa42f49', '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/7821c826-a0a9-4aaf-a49e-83b85fa42f49', 'rel': 'self'}, {'href': 'http://localhost/clusters/7821c826-a0a9-4aaf-a49e-83b85fa42f49', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '91e3e5f8-718a-4d2e-8c67-6bfed527228e', '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/91e3e5f8-718a-4d2e-8c67-6bfed527228e', 'rel': 'self'}, {'href': 'http://localhost/clusters/91e3e5f8-718a-4d2e-8c67-6bfed527228e', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '04f47ab1-6b02-4c90-9cf6-36864bec8397', '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/04f47ab1-6b02-4c90-9cf6-36864bec8397', 'rel': 'self'}, {'href': 'http://localhost/clusters/04f47ab1-6b02-4c90-9cf6-36864bec8397', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '59b4ae80-7b26-442b-aa80-5f667ab2b698', '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/59b4ae80-7b26-442b-aa80-5f667ab2b698', 'rel': 'self'}, {'href': 'http://localhost/clusters/59b4ae80-7b26-442b-aa80-5f667ab2b698', '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=f6ed4c00-a4d5-4566-ba84-7190aeb5c7c9 {} -GOT:{'clusters': [{'uuid': '87c7e67e-4ac8-4b8d-9de1-c2d194039465', '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/87c7e67e-4ac8-4b8d-9de1-c2d194039465', 'rel': 'self'}, {'href': 'http://localhost/clusters/87c7e67e-4ac8-4b8d-9de1-c2d194039465', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}]} +GOT:{'clusters': [{'uuid': 'ce984c91-55e2-4316-baad-93cdf9247ed2', '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/ce984c91-55e2-4316-baad-93cdf9247ed2', 'rel': 'self'}, {'href': 'http://localhost/clusters/ce984c91-55e2-4316-baad-93cdf9247ed2', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'e2d88ef2-b613-426a-b0dc-9c7f7c9e9814', '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/e2d88ef2-b613-426a-b0dc-9c7f7c9e9814', 'rel': 'self'}, {'href': 'http://localhost/clusters/e2d88ef2-b613-426a-b0dc-9c7f7c9e9814', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '6031fd1b-cf0a-4bde-b0c3-8e01ce68dc8a', '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/6031fd1b-cf0a-4bde-b0c3-8e01ce68dc8a', 'rel': 'self'}, {'href': 'http://localhost/clusters/6031fd1b-cf0a-4bde-b0c3-8e01ce68dc8a', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'b2dd60b2-6978-4898-b411-bc807a3e98cc', '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/b2dd60b2-6978-4898-b411-bc807a3e98cc', 'rel': 'self'}, {'href': 'http://localhost/clusters/b2dd60b2-6978-4898-b411-bc807a3e98cc', '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=79d8cebf-5335-4d9f-92e9-ac6d11bec8da {} +GOT:{'clusters': [{'uuid': 'ac7acfd6-1a7e-4986-800f-e19864930d20', '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/ac7acfd6-1a7e-4986-800f-e19864930d20', 'rel': 'self'}, {'href': 'http://localhost/clusters/ac7acfd6-1a7e-4986-800f-e19864930d20', '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-11-09T01:06:53.542698+00:00', 'updated_at': None} +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-10-06T18:47:58.443612+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-11-09T01:06:53.587619+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.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 +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-10-06T18:47:58.534702+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.12 +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.12 +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_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.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_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_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_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_actions.TestClusterResize.test_resize -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize ... 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_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_actions.TestClusterResize.test_resize_with_master_nodegroup_even_unsupported -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_master_nodegroup_even_unsupported ... 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_actions.TestClusterResize.test_resize_with_master_nodegroup_odd_unsupported -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_master_nodegroup_odd_unsupported ... 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.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_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 -GET: /v1/clusters/test_cluster {} +DELETE: /v1/federations/federation-example +GOT:Response: 204 No Content +Openstack-Api-Maximum-Version: container-infra 1.12 +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.12 +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': '8b0923ab-1d34-4ec2-bfe3-7914082bc6a2', '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/8b0923ab-1d34-4ec2-bfe3-7914082bc6a2', 'rel': 'self'}, {'href': 'http://localhost/federations/8b0923ab-1d34-4ec2-bfe3-7914082bc6a2', 'rel': 'bookmark'}], 'created_at': '2025-10-06T18:47:58.584576+00:00', 'updated_at': None}]} +GET: /v1/federations/a8437699-cb7f-4b9b-ab1c-c06b0bc5010c/detail {} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +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=86810918-659b-44c1-8b72-4771b1fcc5a4 {} +GOT:{'federations': [{'uuid': 'f4078805-a220-4be0-ae54-afafe7daa513', '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/f4078805-a220-4be0-ae54-afafe7daa513', 'rel': 'self'}, {'href': 'http://localhost/federations/f4078805-a220-4be0-ae54-afafe7daa513', 'rel': 'bookmark'}], 'created_at': '2025-10-06T18:47:58.629764+00:00', 'updated_at': None}]} +GET: /v1/federations {} +GOT:{'federations': []} +GET: /v1/federations?limit=3&marker=a198ebf2-697c-48f3-8f2d-8daa6e942654 {} +GOT:{'federations': [{'uuid': 'b2371616-a01c-4158-b6ff-fc85350c1a0b', '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/b2371616-a01c-4158-b6ff-fc85350c1a0b', 'rel': 'self'}, {'href': 'http://localhost/federations/b2371616-a01c-4158-b6ff-fc85350c1a0b', 'rel': 'bookmark'}]}]} +GET: /v1/federations/7a3b57fc-2dff-43e0-aa89-690c3a501d62 {} +GOT:{'uuid': '7a3b57fc-2dff-43e0-aa89-690c3a501d62', '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/7a3b57fc-2dff-43e0-aa89-690c3a501d62', 'rel': 'self'}, {'href': 'http://localhost/federations/7a3b57fc-2dff-43e0-aa89-690c3a501d62', 'rel': 'bookmark'}], 'created_at': '2025-10-06T18:47:58.702316+00:00', 'updated_at': None} +GET: /v1/federations/fake-name {} +GOT:{'uuid': '89a4bad8-f318-4dad-b41f-7caf7d463714', '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/89a4bad8-f318-4dad-b41f-7caf7d463714', 'rel': 'self'}, {'href': 'http://localhost/federations/89a4bad8-f318-4dad-b41f-7caf7d463714', 'rel': 'bookmark'}], 'created_at': '2025-10-06T18:47:58.721675+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.12 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 {} +{"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.12 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/0b9e4ca3-232c-47d2-92a3-f146b8137e39 {} -GOT:{'uuid': '0b9e4ca3-232c-47d2-92a3-f146b8137e39', '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/0b9e4ca3-232c-47d2-92a3-f146b8137e39', 'rel': 'self'}, {'href': 'http://localhost/clusters/0b9e4ca3-232c-47d2-92a3-f146b8137e39', '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-11-09T01:06:53.709135+00:00', 'updated_at': None} -GET: /v1/clusters/713e1ce2-f07d-4b1f-865d-3fb9c7ee42a3 {} -GOT:{'uuid': '713e1ce2-f07d-4b1f-865d-3fb9c7ee42a3', '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/713e1ce2-f07d-4b1f-865d-3fb9c7ee42a3', 'rel': 'self'}, {'href': 'http://localhost/clusters/713e1ce2-f07d-4b1f-865d-3fb9c7ee42a3', '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': '713e1ce2-f07d-4b1f-865d-3fb9c7ee42a3', '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-11-09T01:06:53.755027+00:00', 'updated_at': None} -GET: /v1/clusters/89f03f04-768d-49f7-9ff8-fbd9cbdc6e38 {} +{"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/667857b9-e3d2-4c3b-b264-fe8fdb41b666 {} +GOT:{'uuid': '667857b9-e3d2-4c3b-b264-fe8fdb41b666', '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/667857b9-e3d2-4c3b-b264-fe8fdb41b666', 'rel': 'self'}, {'href': 'http://localhost/federations/667857b9-e3d2-4c3b-b264-fe8fdb41b666', 'rel': 'bookmark'}], 'created_at': '2025-10-06T18:47:58.776776+00:00', 'updated_at': None} +GET: /v1/federations/392e1090-5128-46a3-adc4-f4ecf50a086e {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 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 89f03f04-768d-49f7-9ff8-fbd9cbdc6e38 could not be found", "detail": "Cluster 89f03f04-768d-49f7-9ff8-fbd9cbdc6e38 could not be found.", "links": []}]} +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation 392e1090-5128-46a3-adc4-f4ecf50a086e could not be found", "detail": "Federation 392e1090-5128-46a3-adc4-f4ecf50a086e could not be found.", "links": []}]} +GET: /v1/federations/7b2c1b7a-b4d0-4439-9887-d02073b4e686 {} +GOT:{'uuid': '7b2c1b7a-b4d0-4439-9887-d02073b4e686', '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/7b2c1b7a-b4d0-4439-9887-d02073b4e686', 'rel': 'self'}, {'href': 'http://localhost/federations/7b2c1b7a-b4d0-4439-9887-d02073b4e686', 'rel': 'bookmark'}], 'created_at': '2025-10-06T18:47:58.838581+00:00', 'updated_at': None} +GET: /v1/federations/7b2c1b7a-b4d0-4439-9887-d02073b4e686 {} +GOT:{'uuid': '7b2c1b7a-b4d0-4439-9887-d02073b4e686', '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/7b2c1b7a-b4d0-4439-9887-d02073b4e686', 'rel': 'self'}, {'href': 'http://localhost/federations/7b2c1b7a-b4d0-4439-9887-d02073b4e686', 'rel': 'bookmark'}], 'created_at': '2025-10-06T18:47:58.838581+00:00', 'updated_at': None} +GET: /federations/7b2c1b7a-b4d0-4439-9887-d02073b4e686 {} +GOT:{'uuid': '7b2c1b7a-b4d0-4439-9887-d02073b4e686', '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/7b2c1b7a-b4d0-4439-9887-d02073b4e686', 'rel': 'self'}, {'href': 'http://localhost/federations/7b2c1b7a-b4d0-4439-9887-d02073b4e686', 'rel': 'bookmark'}], 'created_at': '2025-10-06T18:47:58.838581+00:00', 'updated_at': None} +GET: /v1/federations {} +GOT:{'federations': [{'uuid': '2e4f3d3b-552b-4096-9873-2d9521103cf8', '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/2e4f3d3b-552b-4096-9873-2d9521103cf8', 'rel': 'self'}, {'href': 'http://localhost/federations/2e4f3d3b-552b-4096-9873-2d9521103cf8', 'rel': 'bookmark'}]}, {'uuid': '256ecfc3-b5f9-48ab-b4a7-5b9a8d30c2ea', '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/256ecfc3-b5f9-48ab-b4a7-5b9a8d30c2ea', 'rel': 'self'}, {'href': 'http://localhost/federations/256ecfc3-b5f9-48ab-b4a7-5b9a8d30c2ea', 'rel': 'bookmark'}]}, {'uuid': 'e650cd66-06fa-4051-bf45-950155debb60', '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/e650cd66-06fa-4051-bf45-950155debb60', 'rel': 'self'}, {'href': 'http://localhost/federations/e650cd66-06fa-4051-bf45-950155debb60', 'rel': 'bookmark'}]}, {'uuid': 'f93256b2-f925-4de7-8d0a-37b818b6d380', '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/f93256b2-f925-4de7-8d0a-37b818b6d380', 'rel': 'self'}, {'href': 'http://localhost/federations/f93256b2-f925-4de7-8d0a-37b818b6d380', 'rel': 'bookmark'}]}, {'uuid': 'fa05ec2e-92a9-44bb-9caf-6a5a722bfe39', '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/fa05ec2e-92a9-44bb-9caf-6a5a722bfe39', 'rel': 'self'}, {'href': 'http://localhost/federations/fa05ec2e-92a9-44bb-9caf-6a5a722bfe39', '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_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_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_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.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 + +GET: /v1/clusters/f91b3f7f-9272-485c-8658-efa66bf7d5a5 {} +GOT:{'uuid': 'f91b3f7f-9272-485c-8658-efa66bf7d5a5', '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/f91b3f7f-9272-485c-8658-efa66bf7d5a5', 'rel': 'self'}, {'href': 'http://localhost/clusters/f91b3f7f-9272-485c-8658-efa66bf7d5a5', '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-10-06T18:47:58.754732+00:00', 'updated_at': None} +GET: /v1/clusters/25e99e87-dc6f-4e83-95d3-e65a5f803ccf {} +GOT:{'uuid': '25e99e87-dc6f-4e83-95d3-e65a5f803ccf', '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/25e99e87-dc6f-4e83-95d3-e65a5f803ccf', 'rel': 'self'}, {'href': 'http://localhost/clusters/25e99e87-dc6f-4e83-95d3-e65a5f803ccf', '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': '25e99e87-dc6f-4e83-95d3-e65a5f803ccf', '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-10-06T18:47:58.847674+00:00', 'updated_at': None} +GET: /v1/clusters/72c69ef0-8b63-4000-84e0-bae80a7bf27c {} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +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 72c69ef0-8b63-4000-84e0-bae80a7bf27c could not be found", "detail": "Cluster 72c69ef0-8b63-4000-84e0-bae80a7bf27c 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-11-09T01:06:53.825135+00:00', 'updated_at': None} -GET: /v1/clusters/d5b2b428-10c1-4ea0-9674-036544a4e744 {} -GOT:{'uuid': 'd5b2b428-10c1-4ea0-9674-036544a4e744', 'name': 'cluster1', 'cluster_template_id': '61a3357b-56aa-4c96-9393-c3291415686f', '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/d5b2b428-10c1-4ea0-9674-036544a4e744', 'rel': 'self'}, {'href': 'http://localhost/clusters/d5b2b428-10c1-4ea0-9674-036544a4e744', '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-11-09T01:06:53.874744+00:00', 'updated_at': None} -GET: /v1/clusters/8fdaa618-bac4-4106-9acb-0f3eba5c7324 {} -GOT:{'uuid': '8fdaa618-bac4-4106-9acb-0f3eba5c7324', '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/8fdaa618-bac4-4106-9acb-0f3eba5c7324', 'rel': 'self'}, {'href': 'http://localhost/clusters/8fdaa618-bac4-4106-9acb-0f3eba5c7324', '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-11-09T01:06:53.918571+00:00', 'updated_at': None} -GET: /v1/clusters/8fdaa618-bac4-4106-9acb-0f3eba5c7324 {} -GOT:{'uuid': '8fdaa618-bac4-4106-9acb-0f3eba5c7324', '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/8fdaa618-bac4-4106-9acb-0f3eba5c7324', 'rel': 'self'}, {'href': 'http://localhost/clusters/8fdaa618-bac4-4106-9acb-0f3eba5c7324', '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-11-09T01:06:53.918571+00:00', 'updated_at': None}magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_links +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-10-06T18:47:58.990151+00:00', 'updated_at': None} +GET: /v1/clusters/007494be-073b-4f49-becf-6938631a9ff8 {} +GOT:{'uuid': '007494be-073b-4f49-becf-6938631a9ff8', 'name': 'cluster1', 'cluster_template_id': '892a41b1-9ce4-44ac-a96d-59af10c2f68e', '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/007494be-073b-4f49-becf-6938631a9ff8', 'rel': 'self'}, {'href': 'http://localhost/clusters/007494be-073b-4f49-becf-6938631a9ff8', '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-10-06T18:47:59.092152+00:00', 'updated_at': None} +GET: /v1/clusters/19cf02e6-7426-4653-94ad-67b7d2c58006 {} +GOT:{'uuid': '19cf02e6-7426-4653-94ad-67b7d2c58006', '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/19cf02e6-7426-4653-94ad-67b7d2c58006', 'rel': 'self'}, {'href': 'http://localhost/clusters/19cf02e6-7426-4653-94ad-67b7d2c58006', '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-10-06T18:47:59.194032+00:00', 'updated_at': None} +GET: /v1/clusters/19cf02e6-7426-4653-94ad-67b7d2c58006 {} +GOT:{'uuid': '19cf02e6-7426-4653-94ad-67b7d2c58006', '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/19cf02e6-7426-4653-94ad-67b7d2c58006', 'rel': 'self'}, {'href': 'http://localhost/clusters/19cf02e6-7426-4653-94ad-67b7d2c58006', '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-10-06T18:47:59.194032+00:00', 'updated_at': None} +GET: /clusters/19cf02e6-7426-4653-94ad-67b7d2c58006 {}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_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_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.TestListCluster.test_many +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_many ... 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.TestListCluster.test_one +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_one ... 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_api_major_version_above_range +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_api_major_version_above_range ... 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_nodegroup.TestListNodegroups.test_get_all_api_minor_version_above_range +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_api_minor_version_above_range ... 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 -PATCH: /v1/clusters/1b2b2367-a6f5-451f-85a9-0630873ffd06 [{'path': '/node_count', 'value': 4, 'op': 'replace'}] -GOT:Response: 202 Accepted +GET: /v1/federations {} +GOT:{'federations': [{'uuid': '90875c95-6207-4732-80eb-e50f8081042a', '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/90875c95-6207-4732-80eb-e50f8081042a', 'rel': 'self'}, {'href': 'http://localhost/federations/90875c95-6207-4732-80eb-e50f8081042a', 'rel': 'bookmark'}]}]} +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.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "1b2b2367-a6f5-451f-85a9-0630873ffd06"} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/?rollback=False [{'path': '/node_count', 'value': 4, 'op': 'replace'}] -GOT:Response: 202 Accepted +{"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": []}]} +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.12 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.3 +Openstack-Api-Version: container-infra 1.12 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 +{"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/c3f3f7f9-3f34-466d-aea9-805949e6c2f2 +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.3 +Openstack-Api-Version: container-infra 1.12 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": "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.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 +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.12 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.10 +Openstack-Api-Version: container-infra 1.12 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": 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/e6d9a41b-e293-4b96-89b3-e456f445eea3/nodegroups/b5871041-0f02-4429-bf30-3e49f913fb19 +GOT:Response: 204 No Content +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 +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.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 +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.12 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 +Openstack-Api-Version: container-infra 1.12 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 +{"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/60ca6cdd-3388-4a24-ab1f-7c59b522f861 +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.7 +Openstack-Api-Version: container-infra 1.12 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-11-09T01:06:53.744588+00:00', 'updated_at': None} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 4, 'nodegroup': '0b4016c7-4b89-4f75-8601-dea907d2e70b'} -GOT:Response: 400 Bad Request +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup 60ca6cdd-3388-4a24-ab1f-7c59b522f861 could not be found", "detail": "Nodegroup 60ca6cdd-3388-4a24-ab1f-7c59b522f861 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/77539858-15ef-45a1-9a5c-48a34a524cc1/nodegroups {} +GOT:{'nodegroups': [{'uuid': '055e2624-2450-4e4a-a436-902118d2755b', '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': '5b4d4b85-117e-4989-b84d-0d7454aaf91b', '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/22ddc325-3c5b-499d-a88c-746feab76c18/nodegroups/ {} +GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 +Openstack-Api-Version: container-infra 2.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing the master nodegroup is not supported by this driver", "detail": "Resizing the master nodegroup is not supported by this driver.", "links": []}]} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 3, 'nodegroup': '59725f18-8b7a-4aa0-8f60-ebd237e0d39c'} +{"errors": [{"max_version": "1.12", "min_version": "1.1", "code": "magnum.microversion-unsupported", "links": [{"rel": "help", "href": "http://docs.openstack.org/api-guide/compute/microversions.html"}], "title": "Requested microversion is unsupported"}]} +GET: /v1/clusters/59da6183-9ae9-4b4e-b0f1-b2709bdf6902/nodegroups/ {} +GOT:Response: 406 Not Acceptable +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.999 +Vary: OpenStack-API-Version +{"errors": [{"max_version": "1.12", "min_version": "1.1", "code": "magnum.microversion-unsupported", "links": [{"rel": "help", "href": "http://docs.openstack.org/api-guide/compute/microversions.html"}], "title": "Requested microversion is unsupported"}]} +GET: /v1/clusters/8332be87-b1a5-4ae6-a477-5eddf8013034/nodegroups {}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_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_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.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.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_nodegroup.TestListNodegroups.test_get_all_by_role +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_role ... ok + +GOT:{'uuid': '19cf02e6-7426-4653-94ad-67b7d2c58006', '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/19cf02e6-7426-4653-94ad-67b7d2c58006', 'rel': 'self'}, {'href': 'http://localhost/clusters/19cf02e6-7426-4653-94ad-67b7d2c58006', '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-10-06T18:47:59.194032+00:00', 'updated_at': None} +GET: /v1/clusters {} +GOT:{'clusters': [{'uuid': '5d9c36ca-5a32-45ff-aafe-d0d291343ab0', '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/5d9c36ca-5a32-45ff-aafe-d0d291343ab0', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d9c36ca-5a32-45ff-aafe-d0d291343ab0', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'f35f0a5f-af53-4577-bb99-6d9fce5fe094', '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/f35f0a5f-af53-4577-bb99-6d9fce5fe094', 'rel': 'self'}, {'href': 'http://localhost/clusters/f35f0a5f-af53-4577-bb99-6d9fce5fe094', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '8c4f80a6-80ee-4bfa-b773-610c934f0066', '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/8c4f80a6-80ee-4bfa-b773-610c934f0066', 'rel': 'self'}, {'href': 'http://localhost/clusters/8c4f80a6-80ee-4bfa-b773-610c934f0066', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '339cd2c8-42f3-45c0-8d29-250d076e8fcb', '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/339cd2c8-42f3-45c0-8d29-250d076e8fcb', 'rel': 'self'}, {'href': 'http://localhost/clusters/339cd2c8-42f3-45c0-8d29-250d076e8fcb', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '8f4e788c-2bb8-474c-8782-13feaec85754', '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/8f4e788c-2bb8-474c-8782-13feaec85754', 'rel': 'self'}, {'href': 'http://localhost/clusters/8f4e788c-2bb8-474c-8782-13feaec85754', '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.12 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 the master nodegroup is not supported by this driver", "detail": "Resizing the master nodegroup is not supported by this driver.", "links": []}]} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 6, 'nodegroup': '85c31456-723c-468e-aa25-03ff3682734f'} +{"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.12 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 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': '404357a1-6c03-402c-b1b6-d16c7c4afaf1'} +{"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.12 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 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': 'aea56a7a-00b5-4b69-aa47-d5c984f349ef'} -GOT:Response: 202 Accepted +{"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.12 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"} +{"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': 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-11-09T01:06:53.920617+00:00', 'updated_at': None} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 0, 'nodegroup': '3e383eeb-30bf-4b5a-9bd8-38b3c4ede062'} -GOT:Response: 202 Accepted +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-10-06T18:47:59.919157+00:00', 'updated_at': None}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_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_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_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.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:{'nodegroups': [{'uuid': '5ebfb767-99ad-412b-952f-2ce35d0f3ede', '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': '37097ce1-afa6-4ea6-86dd-6338e58a6c83', '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': '258181d2-6e53-464d-a9a6-b587fbf97cb4', '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': '2d89b426-beca-499f-9182-046a7a0bdc1e', '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': 'd1a1cc48-982e-412d-9064-af494c322921', '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': '5d463ae8-7bf5-4571-a470-dd279b0b31f4', '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': '0708ffdb-dc9f-400a-84aa-af393bf62a48', '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': '2bec3f54-56c9-4263-93b8-d4a5e583363d', '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.12 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.10 +Openstack-Api-Version: container-infra 1.12 Vary: OpenStack-API-Version -{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"}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.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.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.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_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.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_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_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_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 +{"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/ce373e75-98a6-4f7a-8a32-63707d6d08e1/nodegroups?limit=1 {} +GOT:{'nodegroups': [{'uuid': '9d398555-99b0-43d8-97b0-b15331996ecd', '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/ce373e75-98a6-4f7a-8a32-63707d6d08e1/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=9d398555-99b0-43d8-97b0-b15331996ecd'} +GET: /v1/clusters/ce373e75-98a6-4f7a-8a32-63707d6d08e1/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=9d398555-99b0-43d8-97b0-b15331996ecd {} +GOT:{'nodegroups': [{'uuid': '51d9bdd1-58b9-496d-bfa3-1a009b79d9d4', '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/ce373e75-98a6-4f7a-8a32-63707d6d08e1/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=51d9bdd1-58b9-496d-bfa3-1a009b79d9d4'} +GET: /v1/clusters/ce373e75-98a6-4f7a-8a32-63707d6d08e1/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=51d9bdd1-58b9-496d-bfa3-1a009b79d9d4 {} +GOT:{'nodegroups': []} +GET: /v1/clusters/a149c1fa-3930-47e1-9328-77ed35de4040/nodegroups/ {} +GOT:Response: 406 Not Acceptable +Content-Type: application/json +{"errors": [{"request_id": "", "code": "", "status": 406, "title": "", "detail": "", "links": []}]} +GET: /v1/clusters/72fcd98a-b0fe-4c2d-9e8f-cc52dbf28085/nodegroups/7f3c9b54-bda3-45eb-bb04-26502b672a35 {} +GOT:{'id': 1, 'uuid': '7f3c9b54-bda3-45eb-bb04-26502b672a35', 'name': 'test-worker', 'cluster_id': '72fcd98a-b0fe-4c2d-9e8f-cc52dbf28085', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/72fcd98a-b0fe-4c2d-9e8f-cc52dbf28085/nodegroups/7f3c9b54-bda3-45eb-bb04-26502b672a35', 'rel': 'self'}, {'href': 'http://localhost/clusters/72fcd98a-b0fe-4c2d-9e8f-cc52dbf28085/nodegroups/7f3c9b54-bda3-45eb-bb04-26502b672a35', '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-10-06T18:48:00.159233+00:00', 'updated_at': None} +GET: /v1/clusters/1c5c45ef-6302-423d-ba77-d5f77d00082c/nodegroups/2144d9bd-0ed7-4b1b-9720-a4d4d3168fe5 {} +GOT:{'id': 3, 'uuid': '2144d9bd-0ed7-4b1b-9720-a4d4d3168fe5', 'name': 'test-worker', 'cluster_id': '1c5c45ef-6302-423d-ba77-d5f77d00082c', 'project_id': '1c5c45ef-6302-423d-ba77-d5f77d00082c', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/1c5c45ef-6302-423d-ba77-d5f77d00082c/nodegroups/2144d9bd-0ed7-4b1b-9720-a4d4d3168fe5', 'rel': 'self'}, {'href': 'http://localhost/clusters/1c5c45ef-6302-423d-ba77-d5f77d00082c/nodegroups/2144d9bd-0ed7-4b1b-9720-a4d4d3168fe5', '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-10-06T18:48:00.211043+00:00', 'updated_at': None} +GET: /v1/clusters/8716aabf-576b-4b55-9c3b-68011a06d9bf/nodegroups/non_default_ng {} +GOT:{'id': 3, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'non_default_ng', 'cluster_id': '8716aabf-576b-4b55-9c3b-68011a06d9bf', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {'label1': 'value3', 'label2': 'value2', 'label4': 'value4'}, 'links': [{'href': 'http://localhost/v1/clusters/8716aabf-576b-4b55-9c3b-68011a06d9bf/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/8716aabf-576b-4b55-9c3b-68011a06d9bf/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-10-06T18:48:00.264956+00:00', 'updated_at': None}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_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.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_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_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.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 +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_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_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_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 -GET: /clusters/8fdaa618-bac4-4106-9acb-0f3eba5c7324 {} -GOT:{'uuid': '8fdaa618-bac4-4106-9acb-0f3eba5c7324', '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/8fdaa618-bac4-4106-9acb-0f3eba5c7324', 'rel': 'self'}, {'href': 'http://localhost/clusters/8fdaa618-bac4-4106-9acb-0f3eba5c7324', '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-11-09T01:06:53.918571+00:00', 'updated_at': None} -GET: /v1/clusters {} -GOT:{'clusters': [{'uuid': 'd35ce91d-524a-4d01-949b-cc3fa4ce3ba6', '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/d35ce91d-524a-4d01-949b-cc3fa4ce3ba6', 'rel': 'self'}, {'href': 'http://localhost/clusters/d35ce91d-524a-4d01-949b-cc3fa4ce3ba6', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '913c2eec-709a-4cbf-8edd-0b8b508032e2', '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/913c2eec-709a-4cbf-8edd-0b8b508032e2', 'rel': 'self'}, {'href': 'http://localhost/clusters/913c2eec-709a-4cbf-8edd-0b8b508032e2', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '19156c68-6536-47dd-8832-529bb19ee0b2', '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/19156c68-6536-47dd-8832-529bb19ee0b2', 'rel': 'self'}, {'href': 'http://localhost/clusters/19156c68-6536-47dd-8832-529bb19ee0b2', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '256f7577-362a-488d-ba82-5e316fa321fc', '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/256f7577-362a-488d-ba82-5e316fa321fc', 'rel': 'self'}, {'href': 'http://localhost/clusters/256f7577-362a-488d-ba82-5e316fa321fc', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '44cb8c24-4190-4e7e-b074-6429ab342c5d', '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/44cb8c24-4190-4e7e-b074-6429ab342c5d', 'rel': 'self'}, {'href': 'http://localhost/clusters/44cb8c24-4190-4e7e-b074-6429ab342c5d', '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} +GET: /v1/clusters/16d93d34-c824-4144-a99e-7f1d217acb1c/nodegroups/non_default_ng {} +GOT:{'id': 3, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'non_default_ng', 'cluster_id': '16d93d34-c824-4144-a99e-7f1d217acb1c', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {'label1': 'value3', 'label4': 'value4'}, 'links': [{'href': 'http://localhost/v1/clusters/16d93d34-c824-4144-a99e-7f1d217acb1c/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/16d93d34-c824-4144-a99e-7f1d217acb1c/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-10-06T18:48:00.348936+00:00', 'updated_at': None} +GET: /v1/clusters/190e073f-2e8c-47c9-bd40-4c1449b64308/nodegroups/not-here {} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 +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/1ff08f70-2bda-486f-aad2-05704cf95cf9/nodegroups/ce095b03-45b6-4d31-b740-b81def75b8a7 {} +GOT:Response: 406 Not Acceptable +Content-Type: application/json +{"errors": [{"request_id": "", "code": "", "status": 406, "title": "", "detail": "", "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} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 +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.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 +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.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 +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": []}]} +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 Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 Vary: OpenStack-API-Version -{"uuid": "ea42725c-4afb-4380-8f13-2014f72e4386"} -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} +{"id": 12, "uuid": "30e4fe96-ede2-4d96-8480-1e6fabd66e2b", "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/30e4fe96-ede2-4d96-8480-1e6fabd66e2b", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/30e4fe96-ede2-4d96-8480-1e6fabd66e2b", "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-10-06T18:48:00.597787+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.12 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 Vary: OpenStack-API-Version -{"uuid": "6d6dfac2-ab2d-495f-8149-519f32d1928e"} -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} +{"id": 12, "uuid": "5a8570d5-98ee-4552-ba45-08b7755b17fd", "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/5a8570d5-98ee-4552-ba45-08b7755b17fd", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/5a8570d5-98ee-4552-ba45-08b7755b17fd", "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-10-06T18:48:00.656387+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 +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 +Vary: OpenStack-API-Version +{"id": 12, "uuid": "45bbf363-24c2-4378-806a-1fdfa09810d6", "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/45bbf363-24c2-4378-806a-1fdfa09810d6", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/45bbf363-24c2-4378-806a-1fdfa09810d6", "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-10-06T18:48:00.713419+00:00", "updated_at": null}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_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_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_nodegroup.TestPost.test_create_nodegroup_invalid_node_count +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_invalid_node_count ... ok + +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.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "838b3758-19de-44d9-9622-db3552589dd6"} -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} +{"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-10-06T18:47:59.919157+00:00', 'updated_at': '2025-10-06T18:48:00.076615+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.12 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": []}]}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_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_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_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_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.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 - -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 0, 'nodegroup': '88028f28-55e6-4a94-a65a-f7a08e56ca2f'} +{"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': 'aa11d6cd-0ca5-4f51-bfd6-440dce56c6d5', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 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': ''} -GOT:Response: 403 Forbidden +{"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.12 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": "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-10-06T18:48:00.351919+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.12 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/1db3d9a4-bdeb-46b8-a9c6-0c23e4b58d52/detail {} -GOT:Response: 403 Forbidden +{"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/83fa84fb-f831-4af6-965d-776410ff6f19 [{'path': '/name', 'value': 'cluster_example_B', 'op': 'replace'}] +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 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": 404, "title": "Cluster 83fa84fb-f831-4af6-965d-776410ff6f19 could not be found", "detail": "Cluster 83fa84fb-f831-4af6-965d-776410ff6f19 could not be found.", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/cluster_template_id', 'value': 'f572d5b3-8ce7-456c-9b4a-bbf115a13890', 'op': 'replace'}] +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 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": "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.12 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 +{"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-10-06T18:48:00.731763+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} +PATCH: /v1/clusters/cluster_example_A [{'path': '/node_count', 'value': 4, 'op': 'replace'}] +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_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.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_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_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_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_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 + +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 +{"errors": [{"request_id": "", "code": "", "status": 406, "title": "", "detail": "", "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: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 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": 12, "uuid": "4a3b3695-d8e3-4933-90fb-fe25e7e7a443", "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/4a3b3695-d8e3-4933-90fb-fe25e7e7a443", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/4a3b3695-d8e3-4933-90fb-fe25e7e7a443", "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 Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 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": 409, "title": "max_node_count for nodegroup1 is invalid (node_count (7) should be less or equal to max_node_count (5))", "detail": "max_node_count for nodegroup1 is invalid (node_count (7) should be less or equal to max_node_count (5)).", "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': 2, 'role': 'worker', 'max_node_count': None, 'min_node_count': 3, 'merge_labels': False} +GOT:Response: 409 Conflict Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 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": "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": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'name': 'test_ng'} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 +Vary: OpenStack-API-Version +{"id": 3, "uuid": "bc97376c-fbb1-44ce-9557-92a63e35625a", "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/bc97376c-fbb1-44ce-9557-92a63e35625a", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/bc97376c-fbb1-44ce-9557-92a63e35625a", "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 +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 +Vary: OpenStack-API-Version +{"id": 12, "uuid": "fc6ac4c8-24b2-4e84-ad16-86a096b3aad8", "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/fc6ac4c8-24b2-4e84-ad16-86a096b3aad8", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/fc6ac4c8-24b2-4e84-ad16-86a096b3aad8", "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 +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 +Vary: OpenStack-API-Version +{"id": 12, "uuid": "d7b0c5d9-5f9b-4e65-bc25-d3b3026139e9", "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/d7b0c5d9-5f9b-4e65-bc25-d3b3026139e9", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/d7b0c5d9-5f9b-4e65-bc25-d3b3026139e9", "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}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_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_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_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.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_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.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_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.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_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.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_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_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_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_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_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_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_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 +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 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: 204 No Content +{"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-10-06T18:48:00.834014+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.12 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 {} +{"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.12 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/287e8983-3bf9-4ca1-b42f-313f597e8e58 -GOT:Response: 204 No Content +{"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/b04b7ae4-e2c7-427e-b79c-b06559e63f02 [{'path': '/cluster_id', 'value': 'b04b7ae4-e2c7-427e-b79c-b06559e63f02', 'op': 'replace'}] +GOT:Response: 404 Not Found +Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version - -DELETE: /v1/clustertemplates/c90a1147-4d74-450b-994c-fe0ebbb8153a -GOT:Response: 404 Not Found +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster b04b7ae4-e2c7-427e-b79c-b06559e63f02 could not be found", "detail": "Cluster b04b7ae4-e2c7-427e-b79c-b06559e63f02 could not be found.", "links": []}]} +PATCH: /v1/clusters/b435f125-5ddf-4b02-9889-40669b865716 [{'path': '/node_count', 'value': 4, 'op': 'replace'}] +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 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 c90a1147-4d74-450b-994c-fe0ebbb8153a could not be found", "detail": "ClusterTemplate c90a1147-4d74-450b-994c-fe0ebbb8153a could not be found.", "links": []}]} -DELETE: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 +{"uuid": "b435f125-5ddf-4b02-9889-40669b865716"} +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.12 +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.12 +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.12 +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"} +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.12 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 +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +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": []}]}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 +{"uuid": "e709deca-babf-4043-a4ce-670ef6da0c68"} +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.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"uuid": "db1f54c6-7fe2-4c0c-b212-a274b3f7d991"} +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.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"uuid": "56e09026-64cd-46d9-840c-f1c43078f450"} +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.test_attr_validator.TestAttrValidator.test_validate_external_network_with_invalid_network +magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_external_network_with_invalid_network ... ok +magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_external_network_with_multiple_valid_network +magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_external_network_with_multiple_valid_network ... ok +magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_external_network_with_valid_network +magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_external_network_with_valid_network ... ok +magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_fixed_network_with_invalid_network +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.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 +magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_fixed_subnet_with_invalid_subnet ... ok +magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_fixed_subnet_with_multiple_valid_subnet +magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_fixed_subnet_with_multiple_valid_subnet ... ok +magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_fixed_subnet_with_valid_subnet +magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_fixed_subnet_with_valid_subnet ... ok +magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_flavor_root_volume_size_with_invalid_resources +magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_flavor_root_volume_size_with_invalid_resources ... ok +magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_flavor_root_volume_size_with_valid_boot_volume_size +magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_flavor_root_volume_size_with_valid_boot_volume_size ... ok +magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_flavor_root_volume_size_with_valid_flavor +magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_flavor_root_volume_size_with_valid_flavor ... ok +magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_flavor_with_invalid_flavor +magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_flavor_with_invalid_flavor ... ok +magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_flavor_with_none_flavor +magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_flavor_with_none_flavor ... ok +magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_flavor_with_vaild_flavor +magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_flavor_with_vaild_flavor ... ok +magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_image_when_user_forbidden +magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_image_when_user_forbidden ... ok +magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_image_with_forbidden_image +magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_image_with_forbidden_image ... 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.test_attr_validator.TestAttrValidator.test_validate_image_with_multi_images_same_name +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.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 +magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_image_with_valid_image_by_id ... ok +magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_image_with_valid_image_by_name +magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_image_with_valid_image_by_name ... ok +magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_image_without_os_distro +magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_image_without_os_distro ... ok +magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_keypair_with_invalid_keypair +magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_keypair_with_invalid_keypair ... ok +magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_keypair_with_no_keypair +magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_keypair_with_no_keypair ... ok +magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_keypair_with_valid_keypair +magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_keypair_with_valid_keypair ... ok +magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_labels_main_no_label +magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_labels_main_no_label ... ok +magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_os_resources_with_cluster +magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_os_resources_with_cluster ... ok +magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_os_resources_with_invalid_fixed_subnet +magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_os_resources_with_invalid_fixed_subnet ... ok +magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_os_resources_with_invalid_flavor +magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_os_resources_with_invalid_flavor ... 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.test_attr_validator.TestAttrValidator.test_validate_os_resources_with_valid_fixed_subnet +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.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.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_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_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 + +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 +Vary: OpenStack-API-Version +{"id": 12, "uuid": "dc749c8b-359f-4db8-bd26-13ac34976d5f", "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/dc749c8b-359f-4db8-bd26-13ac34976d5f", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/dc749c8b-359f-4db8-bd26-13ac34976d5f", "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 +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 +Vary: OpenStack-API-Version +{"id": 12, "uuid": "84fd4dae-c36c-46e7-9003-70798da750f3", "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/84fd4dae-c36c-46e7-9003-70798da750f3", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/84fd4dae-c36c-46e7-9003-70798da750f3", "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.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 +Vary: OpenStack-API-Version +{"id": 12, "uuid": "eb1ce2b6-7142-4300-9341-9475fd7b6c3c", "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/eb1ce2b6-7142-4300-9341-9475fd7b6c3c", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/eb1ce2b6-7142-4300-9341-9475fd7b6c3c", "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.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 +Vary: OpenStack-API-Version +{"id": 12, "uuid": "fc086cf2-6851-49e8-b5ce-95d8ebd865f3", "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/fc086cf2-6851-49e8-b5ce-95d8ebd865f3", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/fc086cf2-6851-49e8-b5ce-95d8ebd865f3", "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.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 +Vary: OpenStack-API-Version +{"id": 12, "uuid": "5a68607c-898c-42b1-8e1a-8cd5bf1fa933", "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/5a68607c-898c-42b1-8e1a-8cd5bf1fa933", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/5a68607c-898c-42b1-8e1a-8cd5bf1fa933", "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": []}]}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.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_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.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.controllers.v1.test_cluster.TestPost.test_create_cluster_with_even_master_count magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_even_master_count ... 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.TestPost.test_create_cluster_with_even_master_count_oldmicroversion magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_even_master_count_oldmicroversion ... ok -magnum.tests.unit.api.controllers.v1.test_credential.TestPatch.test_rotate -magnum.tests.unit.api.controllers.v1.test_credential.TestPatch.test_rotate ... 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.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.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.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 +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +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 @@ -5552,7 +6492,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "1f1fdb44-fa4a-4400-a23b-bd24ecc8524f"} +{"uuid": "65cce624-0fa8-41b3-91f0-c098eac531ef"} 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 @@ -5568,7 +6508,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "90635b07-d026-4b49-be15-8de16321ed7e"} +{"uuid": "052409bc-df02-4f78-8748-151b92e6dd61"} 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 @@ -5576,7 +6516,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "2f69f2c0-43f7-4ff4-a0a8-209bc2241327"} +{"uuid": "b8e22d46-e9ab-445d-a505-24c0dbaf6553"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'clustermodel1', '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 @@ -5584,7 +6524,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "0d1bbc93-3316-47f9-b978-f8a5c895a161"} +{"uuid": "473a6fec-952c-4225-84c8-04b60861416c"} 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 @@ -5592,7 +6532,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "8e0747d9-c53c-4952-af4a-0c171d955e62"} +{"uuid": "f2e3088c-ad67-4b91-8e0a-4cdfd1eef311"} 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': 2, 'merge_labels': False} GOT:Response: 400 Bad Request Content-Type: application/json @@ -5616,24 +6556,36 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "7d68c647-2b5c-4348-a414-2df76706c89d"} -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": "39a5dab9-5e20-439c-b44a-e2d1c5fa468d"}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.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.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_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.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.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.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.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.TestPatch.test_member_join -magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_member_join ... 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.TestPost.test_create_cluster_with_invalid_flavor_disk_size magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_flavor_disk_size ... 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_federation.TestPatch.test_member_unjoin -magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_member_unjoin ... 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 +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.12 @@ -5696,12 +6648,12 @@ 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": "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}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_labels +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "test-key", "detail": "test-key", "links": []}]}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 -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 +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} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 @@ -5757,601 +6709,1060 @@ 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_cluster'. Value should match the pattern ^[a-zA-Z][a-zA-Z0-9_.-]*$", "links": []}]} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': '', '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 -Openstack-Api-Maximum-Version: container-infra 1.12 -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": []}]}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_cluster.TestPost.test_create_cluster_with_invalid_name +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': '', '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_invalid_name magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_name ... 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_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_federation.TestPost.test_create_federation -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation ... 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.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_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.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.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 +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_delete_cert_with_fail ... 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_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.common.cert_manager.test_local.TestLocalManager.test_delete_cert_without_intermediate +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_delete_cert_without_intermediate ... ok +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_delete_cert_without_pkp +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_delete_cert_without_pkp ... ok +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert +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.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.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.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.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.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_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.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.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.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.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.common.policies.test_certificate_policy.TestCertifiactePolicy.test_update_no_permission +magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_update_no_permission ... ok -DELETE: /v1/clustertemplates/clustermodel1 -GOT:Response: 204 No Content -Openstack-Api-Maximum-Version: container-infra 1.12 -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 +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 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": 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.12 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": []}]} -PATCH: /v1/credentials/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +{"uuid": "bda4949b-014b-4bfd-bb87-b4e0ed3ffbbd"} +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 Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -PATCH: /v1/federations/2acd4a5f-e36d-43c3-98ba-dd58c283cf26 [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'add'}] -GOT:Response: 409 Conflict +{"uuid": "9882f0da-fe21-454e-bfda-c5db00d3cac1"} +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 Openstack-Api-Maximum-Version: container-infra 1.12 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/41043215-5309-4956-8989-ae46ed37cded [{'path': '/member_ids', 'value': 'b989f94e-351c-4112-89ba-4056d855e029', 'op': 'add'}] -GOT:Response: 404 Not Found +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute master_count", "detail": "Invalid input for field/attribute master_count. Value: '0'. Value should be greater or equal to 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': '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 Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 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 b989f94e-351c-4112-89ba-4056d855e029 could not be found", "detail": "Cluster b989f94e-351c-4112-89ba-4056d855e029 could not be found.", "links": []}]} -PATCH: /v1/federations/1e2bb33c-89a4-45a7-8cc8-3fe8b8b2d692 [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'add'}] +{"uuid": "530221b3-847e-41da-aae1-8e1d779668a8"} +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 Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "1e2bb33c-89a4-45a7-8cc8-3fe8b8b2d692"} -GET: /v1/federations/1e2bb33c-89a4-45a7-8cc8-3fe8b8b2d692 {} -GOT:{'uuid': '1e2bb33c-89a4-45a7-8cc8-3fe8b8b2d692', '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/1e2bb33c-89a4-45a7-8cc8-3fe8b8b2d692', 'rel': 'self'}, {'href': 'http://localhost/federations/1e2bb33c-89a4-45a7-8cc8-3fe8b8b2d692', 'rel': 'bookmark'}], 'created_at': '2026-11-09T01:06:54.858199+00:00', 'updated_at': '2026-11-09T01:06:54.893600+00:00'} -PATCH: /v1/federations/ea9f4b75-de50-4a0d-9412-5221e55ea3d6 [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'remove'}] +{"uuid": "6230340f-2a94-4632-a27b-ac241ebd2753"} +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 Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "ea9f4b75-de50-4a0d-9412-5221e55ea3d6"} -GET: /v1/federations/ea9f4b75-de50-4a0d-9412-5221e55ea3d6 {} -GOT:{'uuid': 'ea9f4b75-de50-4a0d-9412-5221e55ea3d6', '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/ea9f4b75-de50-4a0d-9412-5221e55ea3d6', 'rel': 'self'}, {'href': 'http://localhost/federations/ea9f4b75-de50-4a0d-9412-5221e55ea3d6', 'rel': 'bookmark'}], 'created_at': '2026-11-09T01:06:54.931227+00:00', 'updated_at': '2026-11-09T01:06:54.955992+00:00'} -PATCH: /v1/federations/0addb33c-ed4e-4f14-9acf-46257dc57a13 [{'path': '/member_ids', 'value': '4015c914-0d69-49fc-901d-af4b43887efd', 'op': 'remove'}] -GOT:Response: 404 Not Found +{"uuid": "320ce5c2-56e7-4745-ab4d-012b20b686df"} +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 Openstack-Api-Maximum-Version: container-infra 1.12 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 4015c914-0d69-49fc-901d-af4b43887efd could not be found", "detail": "Cluster 4015c914-0d69-49fc-901d-af4b43887efd could not be found.", "links": []}]} -PATCH: /v1/federations/28d81c99-ce96-44dd-9870-1410306bffea [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'remove'}] -GOT:Response: 404 Not Found +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "test-img", "detail": "test-img", "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: 409 Conflict Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 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": []}]} -POST: /v1/federations {'uuid': '6071eed6-b022-48c9-8db6-ebcb6917eb7e', '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 +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "keypair2", "detail": "keypair2", "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': -1, 'merge_labels': False} +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "1969e250-cd32-4274-9e0d-77476901d5a1"} -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 +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute master_count", "detail": "Invalid input for field/attribute master_count. Value: '-1'. Value should be greater or equal to 1", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_negative_master_count +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_negative_master_count ... 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.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.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.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.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.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.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.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.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.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_os_distro_image +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_os_distro_image ... 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.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.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_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.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 + +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': False, '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.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "471a0153-4ceb-43f9-856f-bc740e1a9e20"} -POST: /v1/federations {'uuid': '32b339de-669f-40da-9d82-3b69a3120444', 'name': 'fake-name', 'hostcluster_id': '03fdf29d-6fba-4f06-a3f6-99cf14053554', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} -GOT:Response: 404 Not Found +{"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.12 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 03fdf29d-6fba-4f06-a3f6-99cf14053554 could not be found", "detail": "Cluster 03fdf29d-6fba-4f06-a3f6-99cf14053554 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_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_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.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_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.TestPost.test_create_cluster_with_negative_master_count -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_negative_master_count ... 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, 'keypair': 'keypair2'} +{"uuid": "61815850-37f7-4288-a1f6-3c1329f7423c"} +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.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "60d800fc-7745-47ac-85ab-52651996ecca"} -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} +{"uuid": "22919f26-9305-4c32-956b-1ceb2371d7fc"} +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 Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "216090b9-53e6-4c92-9fc7-f6ba6f9b3d06"} -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} +{"uuid": "53c1ab32-bafa-4bd0-a459-6f0733cd0eab"} +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: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 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 master_count", "detail": "Invalid input for field/attribute master_count. Value: '0'. Value should be greater or equal to 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': '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} +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "img", "detail": "img", "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', '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.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "ea9a4517-7ecc-4e75-9d1e-ca87850ef0c4"} -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 +{"uuid": "08497137-c39b-48e6-9f40-7857fe026099"} +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 Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "b5b1cebd-ebe0-48fc-8f78-cd24beb5cb43"} -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 +{"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': '9af57f54-a031-4ce8-a1c0-4244f61ec26c', '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.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "3c85052a-eaf4-4605-ba8f-14d56778830d"} -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 +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "ClusterTemplate 9af57f54-a031-4ce8-a1c0-4244f61ec26c could not be found", "detail": "ClusterTemplate 9af57f54-a031-4ce8-a1c0-4244f61ec26c 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 Openstack-Api-Maximum-Version: container-infra 1.12 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": "test-img", "detail": "test-img", "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: 409 Conflict +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "ClusterTemplate notfound could not be found", "detail": "ClusterTemplate notfound could not be found.", "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}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_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.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.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.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_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.policies.test_quota_policy.TestQuotaPolicy.test_update_no_permission +magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_update_no_permission ... ok + +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 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": "keypair2", "detail": "keypair2", "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': -1, 'merge_labels': False} +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "test-img", "detail": "test-img", "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': -1, '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.12 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 master_count", "detail": "Invalid input for field/attribute master_count. Value: '-1'. Value should be greater or equal to 1", "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': False, 'node_count': 3, 'master_count': 3, 'merge_labels': False}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.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_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.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_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_cluster.TestPost.test_create_cluster_with_no_os_distro_image -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_os_distro_image ... ok - -POST: /v1/federations {'uuid': '39b24169-859b-4e77-86a0-d845489dc71d', '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 +{"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": []}]} +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 Openstack-Api-Maximum-Version: container-infra 1.12 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': 'bedc9f66-d6e0-49c5-b95b-5d554724a0c6', '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 +{"uuid": "558863ef-ba8c-4702-8b16-9f900c247ab2"} +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.12 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': 'fda08fbd-be7b-4e3f-82e3-94d9ede804f3', '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 +{"uuid": "e9366eb7-cb69-4ef7-ac67-baa8a772cf71"} +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.12 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': 'b27bf092-1772-4859-997a-f80ff645a9b0', '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 +{"uuid": "426ec99c-7bfa-40ab-935c-431ec2d14f96"} +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.12 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': '0471a38f-dda7-4022-aaa6-37e1b74d795b', '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 +{"uuid": "7a49d3bf-1706-46b1-ab82-63467d8368e0"} +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.12 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': '8cc8fa31-2a0e-4c79-97ce-bb13a0847546', '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 +{"uuid": "bb2df488-0b21-493e-a041-4b83cd8d0da2"} +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.12 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': '117f604e-0fcd-42e8-8bc2-94df5b47e1c0', '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 +{"uuid": "8775f17c-46d5-4469-ac5b-ce85a1080644"} +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.12 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': '96100eed-dc9d-4393-9b0c-a4744fb813ac', '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 +{"uuid": "3efe3e51-0822-4345-bac2-31b3132c5241"} +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.12 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': '3ad26a2b-2da4-42ea-8d2b-c851a4c04736', '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 +{"uuid": "b4fd636d-f479-46b6-a91b-6e4cc5adeaf8"} +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.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.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.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.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.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_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.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.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.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.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.common.test_keystone.KeystoneClientTest.test_client_with_password +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_password ... 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.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.common.test_keystone.KeystoneClientTest.test_client_with_token +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_token ... 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.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.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.test_keystone.KeystoneClientTest.test_delete_trust +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_delete_trust ... 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.common.test_keystone.KeystoneClientTest.test_delete_trust_not_found +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_delete_trust_not_found ... ok +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_get_validate_region_name +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_get_validate_region_name ... 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.common.test_keystone.KeystoneClientTest.test_get_validate_region_name_is_None +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_get_validate_region_name_is_None ... ok +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_get_validate_region_name_not_found +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 + +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 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': '53582029-c2fa-442c-b44a-3a4dfc293199', '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.'} +{"uuid": "4d3c253f-d58e-4c42-b093-f403f3605db9"} +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.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "8ebc1b3d-4e0f-43c6-9032-a77d762ab64b"} -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.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_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_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_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_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_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_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.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 - +{"uuid": "5ea2345b-79fd-45a8-ac4e-f972abb1483a"} +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 +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.10 +Vary: OpenStack-API-Version +{"uuid": "6a9a297c-c21e-46b5-85af-17de3e77b09f"} +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.12 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.12 +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": "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} +{"uuid": "99040edd-d9ba-4370-980d-289a4c57b0a4"} +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.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "dbd85bcf-3a89-484a-b96a-6d415dee051d"} -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} +{"uuid": "5857d550-19bc-405d-8edd-6b3fb952c333"} +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.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "c8f8e64b-10e6-43db-b72b-5d7121be26dc"} -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} +{"uuid": "9c553df2-203e-488d-a126-7be4e1ab6d01"} +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.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "413ee87e-9e52-4583-bdcc-f4e236652d0c"} +{"uuid": "feb7ed25-a60b-4fc3-80f2-3b2dc714c7bf"} 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: 400 Bad Request +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 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": "img", "detail": "img", "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', '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": "5c94cbf6-2885-44f0-93b1-c99a597de175"} +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.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "ea8b5cfb-d5bd-4f03-b66f-4e19519feab2"} -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 +{"uuid": "ee5b3660-ed12-41b1-a0c3-befa2b3db390"} +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}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.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.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.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.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_master_nodegroup_even_unsupported +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_master_nodegroup_even_unsupported ... 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.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_master_nodegroup_odd_unsupported +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_master_nodegroup_odd_unsupported ... 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.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.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_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.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_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_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.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.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.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.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.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.TestClusterTemplateObject.test_cluster_template_init +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplateObject.test_cluster_template_init ... ok + +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 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": []}]} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'b420749f-8e4d-4296-a9c5-4001ac9e593a', '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": "8a03141b-03e5-4bd8-b19f-b0fe3ff1752d"} +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.12 +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-10-06T18:48:05.849807+00:00', 'updated_at': None} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 4, 'nodegroup': 'b462e061-0267-406e-8996-57d449dab473'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.9 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "ClusterTemplate b420749f-8e4d-4296-a9c5-4001ac9e593a could not be found", "detail": "ClusterTemplate b420749f-8e4d-4296-a9c5-4001ac9e593a 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} +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing the master nodegroup is not supported by this driver", "detail": "Resizing the master nodegroup is not supported by this driver.", "links": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 3, 'nodegroup': '712ae037-7f86-423a-bc52-24eab3f4f12c'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.9 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "ClusterTemplate notfound could not be found", "detail": "ClusterTemplate notfound could not be found.", "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} +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing the master nodegroup is not supported by this driver", "detail": "Resizing the master nodegroup is not supported by this driver.", "links": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 6, 'nodegroup': '0817fc27-a007-45cb-84cd-a6783dcb1e11'} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +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': '49c69ce7-8b4c-40dc-bf9a-8ccee80fe238'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 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': '47e2183c-2380-479f-a5d0-e990986b6af2'} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +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-10-06T18:48:06.069612+00:00', 'updated_at': None} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 0, 'nodegroup': '7dd67e7f-2b46-4b52-9ad8-51d9594e0517'} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +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': '9e558265-cc2b-4b46-b679-f20f19703ccd'} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +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.12 +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": "test-img", "detail": "test-img", "links": []}]}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_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_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_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_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_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_non_existent_property -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_non_existent_property ... ok +{"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 +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_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_credential.TestCredentialPolicyEnforcement.test_policy_disallow_rotate +magnum.tests.unit.api.controllers.v1.test_credential.TestCredentialPolicyEnforcement.test_policy_disallow_rotate ... 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 -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 {} +DELETE: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 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/83bc38d1-797c-48d3-a303-9be7fe063cc6/nodegroups {} +{"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/74c86d14-c495-4557-9855-cfb1d316e446/detail {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 +Openstack-Api-Version: container-infra 1.1 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/ed996338-0ae7-401a-8c48-62d9817f5f07/nodegroups/4e44a1d3-d57f-4e51-b96e-a8a434506573 {} +{"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.12 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 +Openstack-Api-Version: container-infra 1.1 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": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/node_count', 'op': 'remove'}] -GOT:Response: 400 Bad Request +{"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.12 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 +Openstack-Api-Version: container-infra 1.1 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 +{"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.12 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 +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-11-09T01:06:56.078531+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-11-09T01:06:56.078531+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 +{"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.12 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 +Openstack-Api-Version: container-infra 1.1 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 +{"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.12 +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.12 +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": []}]} +PATCH: /v1/credentials/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.12 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-11-09T01:06:56.256117+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-11-09T01:06:56.256117+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'}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 - -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': -1, '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 credential:rotate to be performed", "detail": "Policy doesn't allow credential:rotate to be performed.", "links": []}]} +PATCH: /v1/federations/f6359fd2-e381-4442-8721-53377933638d [{'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.12 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": []}]} -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 +{"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/da965ea4-8359-46fa-a879-ff80bcbbe437 [{'path': '/member_ids', 'value': '2e190837-6be8-45f4-89d7-30906c44ef54', 'op': 'add'}] +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "29221b71-f0f6-496d-ad85-4467c29c78e2"} -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} +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 2e190837-6be8-45f4-89d7-30906c44ef54 could not be found", "detail": "Cluster 2e190837-6be8-45f4-89d7-30906c44ef54 could not be found.", "links": []}]} +PATCH: /v1/federations/3b8f3934-35da-4aec-9459-54b882c05485 [{'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.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "d8038d6d-9244-44ab-9a9c-07cfcdb1e6da"} -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} +{"uuid": "3b8f3934-35da-4aec-9459-54b882c05485"} +GET: /v1/federations/3b8f3934-35da-4aec-9459-54b882c05485 {} +GOT:{'uuid': '3b8f3934-35da-4aec-9459-54b882c05485', '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/3b8f3934-35da-4aec-9459-54b882c05485', 'rel': 'self'}, {'href': 'http://localhost/federations/3b8f3934-35da-4aec-9459-54b882c05485', 'rel': 'bookmark'}], 'created_at': '2025-10-06T18:48:06.896696+00:00', 'updated_at': '2025-10-06T18:48:06.965728+00:00'} +PATCH: /v1/federations/6e7280f7-6a3f-4c97-8e18-17d21aa8fe76 [{'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.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "93d927bd-dd03-45b9-8c80-8eeb1df96546"} -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 +{"uuid": "6e7280f7-6a3f-4c97-8e18-17d21aa8fe76"} +GET: /v1/federations/6e7280f7-6a3f-4c97-8e18-17d21aa8fe76 {} +GOT:{'uuid': '6e7280f7-6a3f-4c97-8e18-17d21aa8fe76', '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/6e7280f7-6a3f-4c97-8e18-17d21aa8fe76', 'rel': 'self'}, {'href': 'http://localhost/federations/6e7280f7-6a3f-4c97-8e18-17d21aa8fe76', 'rel': 'bookmark'}], 'created_at': '2025-10-06T18:48:07.063152+00:00', 'updated_at': '2025-10-06T18:48:07.108533+00:00'}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.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.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_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.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.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.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity +magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity ... 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.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.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.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_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_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.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.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.common.test_rpc.TestRpc.test_get_client +magnum.tests.unit.common.test_rpc.TestRpc.test_get_client ... 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_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 + +PATCH: /v1/federations/bd18e433-0b98-490c-a59c-73d3adf81796 [{'path': '/member_ids', 'value': '65805e7d-8dec-4ec3-8100-ad6709cc446b', 'op': 'remove'}] +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "e47300bd-e19a-4cfa-8afa-73cbbf6a8de6"} -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 +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 65805e7d-8dec-4ec3-8100-ad6709cc446b could not be found", "detail": "Cluster 65805e7d-8dec-4ec3-8100-ad6709cc446b could not be found.", "links": []}]} +PATCH: /v1/federations/e0d545a4-e2e2-4ce3-8a2c-3ea9ca3c4db9 [{'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.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "2f43437b-5363-45e6-b0a3-3576ace4816b"} -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} +{"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": []}]} +POST: /v1/federations {'uuid': '1f54e94b-d897-403e-8050-9d94a545d216', '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.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "64207d6d-107f-440e-81b1-5ea5a1782b73"} -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": "0d7f0d9c-dbf3-42ad-9cb0-bd65d81af411"} +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.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "872b5793-26fc-4186-abb0-280dcfde76a8"} -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 +{"uuid": "168f7299-d4e2-4dd7-a03b-3097bb44a705"} +POST: /v1/federations {'uuid': '74442f2a-98f4-4226-9c27-e3cf3e7c86ee', 'name': 'fake-name', 'hostcluster_id': 'cedee5ff-3544-48c6-bf64-043ba3a5f8a7', '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.12 +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 cedee5ff-3544-48c6-bf64-043ba3a5f8a7 could not be found", "detail": "Cluster cedee5ff-3544-48c6-bf64-043ba3a5f8a7 could not be found.", "links": []}]} +POST: /v1/federations {'uuid': '4e7a129f-edf0-46a5-a9c7-b7fec810e36a', '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.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "48487ef0-464b-4361-b7c8-20aa11d95b78"} -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} +{"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': 'd8f4a2dc-ff6b-45c6-99a0-ac75e84e1266', '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.12 +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': '677690cc-5326-4e00-8a2e-164da468793b', '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.12 +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': 'adf2d834-bf93-460e-9c46-fb4858b09cc8', '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.12 +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': '55b68cd8-cb01-48fc-b8dd-8a39e0cf5a1a', '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.12 +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': '006f01d7-6a8e-4d9d-bf4c-b6c5e9992336', '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.12 +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.common.test_rpc.TestRpc.test_serialize_entity +magnum.tests.unit.common.test_rpc.TestRpc.test_serialize_entity ... 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.TempFilesTestCase.test_tempdir +magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir ... 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.common.test_utils.TempFilesTestCase.test_tempdir_mocked +magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked ... 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.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.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.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 + +POST: /v1/federations {'uuid': '73c02c31-daef-445c-bc45-7463bff099d3', '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.12 +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': '4b34526f-241e-4db8-8141-065e252f5401', '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.12 +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': 'c2e44ee7-960d-44f5-9f23-8653fcdc6e59', '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.12 +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': '502ea2fd-8f96-4a58-91d0-e45c40452d5e', '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.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "3855c087-c3a9-491a-88e0-50f2c747ae93"}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 +{"uuid": "4e142392-6375-48c5-a122-9937984f857f"} +GET: /v1/clusters/0608946d-e8ff-4cde-9e42-c536119cdb05/nodegroups {} +GOT:Response: 403 Forbidden +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 +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/bcc13cd4-8d7f-4591-acc9-bd23222f5472/nodegroups/9e937eb3-60e0-42ce-8665-3486b3840f2a {} +GOT:Response: 403 Forbidden +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 +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": []}]} +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.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 +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.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 +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-10-06T18:48:08.460153+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-10-06T18:48:08.460153+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.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 +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.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 +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-10-06T18:48:08.792675+00:00", "updated_at": null}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 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_zero_node_count -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_zero_node_count ... 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.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_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_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_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 +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-10-06T18:48:08.792675+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 @@ -6383,9 +7794,9 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.12 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-11-09T01:06:56.560853+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-10-06T18:48:09.357060+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-11-09T01:06:56.560853+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-10-06T18:48:09.357060+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 @@ -6393,26 +7804,20 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.12 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-11-09T01:06:56.614799+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-10-06T18:48:09.553053+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-11-09T01:06:56.614799+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-10-06T18:48:09.553053+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/7874da46-797d-4ed9-b84d-b2b6fe06ff1c/nodegroups/9ed97dda-a10d-4e81-bdfc-0c63c9cc7f02 [{'path': '/max_node_count', 'value': 4, 'op': 'replace'}] -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -Vary: OpenStack-API-Version -{"id": 50, "uuid": "9ed97dda-a10d-4e81-bdfc-0c63c9cc7f02", "name": "nodegroup1", "cluster_id": "7874da46-797d-4ed9-b84d-b2b6fe06ff1c", "project_id": "fake", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/7874da46-797d-4ed9-b84d-b2b6fe06ff1c/nodegroups/9ed97dda-a10d-4e81-bdfc-0c63c9cc7f02", "rel": "self"}, {"href": "http://localhost/clusters/7874da46-797d-4ed9-b84d-b2b6fe06ff1c/nodegroups/9ed97dda-a10d-4e81-bdfc-0c63c9cc7f02", "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-11-09T01:06:56.706115+00:00", "updated_at": null}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_update_nodegroup_as_admin +{"errors": [{"request_id": "", "code": "", "status": 406, "title": "", "detail": "", "links": []}]}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.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.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_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_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 @@ -6421,129 +7826,41 @@ 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_keypair -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_keypair ... 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_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.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_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_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_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_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_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.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.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 -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.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "96b00da4-4438-4d42-8f50-ffbba9040037"} -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 -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.10 -Vary: OpenStack-API-Version -{"uuid": "41a68222-0a26-44c5-a86e-811044d35bf0"} -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.12 -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.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "f667c0b0-1d72-4753-8287-dc7d83deb1ec"} -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.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "4afbb41e-31ab-469e-9d74-a8206387e14c"} -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.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "8aedef22-4ebf-4ebc-8278-4b3b360d0a1b"} -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.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "128ed5c0-f0be-4db6-9657-e9939adc6a41"} -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} +PATCH: /v1/clusters/b754429f-d6eb-459d-b5f7-e0af21973392/nodegroups/8bb38407-a235-4db6-be9c-513caf77589c [{'path': '/max_node_count', 'value': 4, 'op': 'replace'}] GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "c270f27d-18a8-4f36-8c52-b2d91691205b"} -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.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "c7f92e13-0734-4399-af69-c3088736b713"} -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.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 Vary: OpenStack-API-Version -{"uuid": "adc354b6-a053-4eea-9706-dde226bfa458"}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_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_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 - +{"id": 50, "uuid": "8bb38407-a235-4db6-be9c-513caf77589c", "name": "nodegroup1", "cluster_id": "b754429f-d6eb-459d-b5f7-e0af21973392", "project_id": "fake", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/b754429f-d6eb-459d-b5f7-e0af21973392/nodegroups/8bb38407-a235-4db6-be9c-513caf77589c", "rel": "self"}, {"href": "http://localhost/clusters/b754429f-d6eb-459d-b5f7-e0af21973392/nodegroups/8bb38407-a235-4db6-be9c-513caf77589c", "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-10-06T18:48:09.905000+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 @@ -6551,7 +7868,7 @@ 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-11-09T01:06:56.750628+00:00", "updated_at": null} +{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-10-06T18:48:10.024984+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 @@ -6591,7 +7908,7 @@ 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-11-09T01:06:56.842283+00:00", "updated_at": null} +{"id": 42, "hard_limit": 0, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-10-06T18:48:10.240576+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 @@ -6599,7 +7916,7 @@ 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-11-09T01:06:56.858977+00:00", "updated_at": null} +{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-10-06T18:48:10.273800+00:00", "updated_at": null} DELETE: /v1/quotas/fake_project/Cluster GOT:Response: 204 No Content Openstack-Api-Maximum-Version: container-infra 1.12 @@ -6618,21 +7935,21 @@ 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-11-09T01:06:56.898059+00:00', 'updated_at': None}, {'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2026-11-09T01:06:56.899264+00:00', 'updated_at': None}, {'id': 3, 'hard_limit': 10, 'project_id': 'proj-id-2', 'resource': 'Cluster', 'created_at': '2026-11-09T01:06:56.900146+00:00', 'updated_at': None}, {'id': 4, 'hard_limit': 10, 'project_id': 'proj-id-3', 'resource': 'Cluster', 'created_at': '2026-11-09T01:06:56.900977+00:00', 'updated_at': None}]} +GOT:{'quotas': [{'id': 1, 'hard_limit': 10, 'project_id': 'proj-id-0', 'resource': 'Cluster', 'created_at': '2025-10-06T18:48:10.368616+00:00', 'updated_at': None}, {'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2025-10-06T18:48:10.369850+00:00', 'updated_at': None}, {'id': 3, 'hard_limit': 10, 'project_id': 'proj-id-2', 'resource': 'Cluster', 'created_at': '2025-10-06T18:48:10.375255+00:00', 'updated_at': None}, {'id': 4, 'hard_limit': 10, 'project_id': 'proj-id-3', 'resource': 'Cluster', 'created_at': '2025-10-06T18:48:10.376230+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-11-09T01:06:56.920200+00:00', 'updated_at': None}]} +GOT:{'quotas': [{'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2025-10-06T18:48:10.425412+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-11-09T01:06:56.942457+00:00', 'updated_at': None}]} +GOT:{'quotas': [{'id': 4, 'hard_limit': 10, 'project_id': 'proj-id-3', 'resource': 'Cluster', 'created_at': '2025-10-06T18:48:10.479937+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-11-09T01:06:56.977666+00:00', 'updated_at': None}]} +GOT:{'quotas': [{'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2025-10-06T18:48:10.532027+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-11-09T01:06:56.998246+00:00', 'updated_at': None}]} +GOT:{'quotas': [{'id': 3, 'hard_limit': 10, 'project_id': 'proj-id-2', 'resource': 'Cluster', 'created_at': '2025-10-06T18:48:10.581572+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-11-09T01:06:57.035287+00:00', 'updated_at': None}, {'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2026-11-09T01:06:57.036284+00:00', 'updated_at': None}], 'next': 'http://localhost/v1/quotas?sort_key=id&sort_dir=asc&limit=2&marker=2'} +GOT:{'quotas': [{'id': 1, 'hard_limit': 10, 'project_id': 'proj-id-0', 'resource': 'Cluster', 'created_at': '2025-10-06T18:48:10.673533+00:00', 'updated_at': None}, {'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2025-10-06T18:48:10.680911+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-11-09T01:06:57.054088+00:00', 'updated_at': None} +GOT:{'id': 1, 'hard_limit': 10, 'project_id': 'fake_project', 'resource': 'Cluster', 'created_at': '2025-10-06T18:48:10.735572+00:00', 'updated_at': None} GET: /v1/quotas/fake_project/Cluster {} GOT:Response: 200 OK Content-Type: application/json @@ -6648,26 +7965,13 @@ 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.12 -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-11-09T01:06:57.139346+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.12 -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-11-09T01:06:57.160873+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 +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Not authorized", "detail": "Not authorized.", "links": []}]}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 @@ -6681,8 +7985,6 @@ warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:370: 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_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_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:370: 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 @@ -6697,22 +7999,20 @@ 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:370: 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_cluster_not_found -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_cluster_not_found ... ok /usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:370: 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:370: 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:370: 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.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.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:370: 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:370: 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 @@ -6733,8 +8033,6 @@ warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:370: 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_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:370: 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 @@ -6751,8 +8049,6 @@ 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_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_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 @@ -6765,122 +8061,60 @@ 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.test_attr_validator.TestAttrValidator.test_validate_external_network_with_invalid_network -magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_external_network_with_invalid_network ... ok -magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_external_network_with_multiple_valid_network -magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_external_network_with_multiple_valid_network ... ok -magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_external_network_with_valid_network -magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_external_network_with_valid_network ... ok -magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_fixed_network_with_invalid_network -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.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 -magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_fixed_subnet_with_invalid_subnet ... ok -magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_fixed_subnet_with_multiple_valid_subnet -magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_fixed_subnet_with_multiple_valid_subnet ... ok -magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_fixed_subnet_with_valid_subnet -magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_fixed_subnet_with_valid_subnet ... ok -magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_flavor_root_volume_size_with_invalid_resources -magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_flavor_root_volume_size_with_invalid_resources ... 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.test_attr_validator.TestAttrValidator.test_validate_flavor_root_volume_size_with_valid_boot_volume_size -magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_flavor_root_volume_size_with_valid_boot_volume_size ... ok -magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_flavor_root_volume_size_with_valid_flavor -magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_flavor_root_volume_size_with_valid_flavor ... ok -magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_flavor_with_invalid_flavor -magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_flavor_with_invalid_flavor ... ok -magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_flavor_with_none_flavor -magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_flavor_with_none_flavor ... ok -magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_flavor_with_vaild_flavor -magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_flavor_with_vaild_flavor ... ok -magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_image_when_user_forbidden -magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_image_when_user_forbidden ... ok -magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_image_with_forbidden_image -magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_image_with_forbidden_image ... ok -magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_image_with_multi_images_same_name -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.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 -magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_image_with_valid_image_by_id ... ok -magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_image_with_valid_image_by_name -magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_image_with_valid_image_by_name ... ok -magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_image_without_os_distro -magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_image_without_os_distro ... ok -magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_keypair_with_invalid_keypair -magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_keypair_with_invalid_keypair ... ok -magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_keypair_with_no_keypair -magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_keypair_with_no_keypair ... ok -magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_keypair_with_valid_keypair -magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_keypair_with_valid_keypair ... ok -magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_labels_main_no_label -magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_labels_main_no_label ... ok -magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_os_resources_with_cluster -magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_os_resources_with_cluster ... ok -magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_os_resources_with_invalid_fixed_subnet -magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_os_resources_with_invalid_fixed_subnet ... ok -magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_os_resources_with_invalid_flavor -magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_os_resources_with_invalid_flavor ... ok -magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_os_resources_with_valid_fixed_subnet -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.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 +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_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_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_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_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.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_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.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.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.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.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.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.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.test_validation.TestValidation.test_enforce_cluster_type_supported @@ -6923,136 +8157,6 @@ 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 - -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.12 -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/baf4019a-dddf-4126-80e2-ce81462b4eae/actions/upgrade {'cluster_template': 'test_2'} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.8 -Vary: OpenStack-API-Version -{"uuid": "baf4019a-dddf-4126-80e2-ce81462b4eae"} -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.12 -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'} -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -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': 'd4541eaf-077b-4e16-8a7d-629e63cc2865'} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -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': '32741b78-8b9b-41a4-9993-b27e2d34d470'} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -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.12 -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.12 -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.12 -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": []}]} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -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/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/image_id', 'value': 'img', 'op': 'replace'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -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": "img", "detail": "img", "links": []}]} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/image_id', 'op': 'remove'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -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": "'/image_id' is a mandatory attribute and can not be removed", "detail": "'/image_id' is a mandatory attribute and can not be removed", "links": []}]} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/coe', 'op': 'remove'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -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": "'/coe' is a mandatory attribute and can not be removed", "detail": "'/coe' is a mandatory attribute and can not be removed", "links": []}]} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/external_network_id', 'op': 'remove'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -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": "'/external_network_id' is a mandatory attribute and can not be removed", "detail": "'/external_network_id' is a mandatory attribute and can not be removed", "links": []}]} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/server_type', 'op': 'remove'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -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": "'/server_type' is a mandatory attribute and can not be removed", "detail": "'/server_type' is a mandatory attribute and can not be removed", "links": []}]} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/tls_disabled', 'op': 'remove'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -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": "'/tls_disabled' is a mandatory attribute and can not be removed", "detail": "'/tls_disabled' 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.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 @@ -7061,156 +8165,32 @@ 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_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.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.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.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_template.TestPatch.test_remove_uuid -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_uuid ... 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 - -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/public', 'op': 'remove'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -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": "'/public' is a mandatory attribute and can not be removed", "detail": "'/public' is a mandatory attribute and can not be removed", "links": []}]} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/registry_enabled', 'op': 'remove'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -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": []}]} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/cluster_distro', 'op': 'remove'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -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_distro' is a mandatory attribute and can not be removed", "detail": "'/cluster_distro' is a mandatory attribute and can not be removed", "links": []}]} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/network_driver', 'op': 'remove'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -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": "'/network_driver' is a mandatory attribute and can not be removed", "detail": "'/network_driver' is a mandatory attribute and can not be removed", "links": []}]} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/non-existent', 'op': 'remove'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -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/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-11-09T01:06:57.894677+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 -Openstack-Api-Maximum-Version: container-infra 1.12 -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-11-09T01:06:57.894677+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-11-09T01:06:57.894677+00:00', 'updated_at': '2026-11-09T01:06:57.917979+00:00'} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/uuid', 'op': 'remove'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -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/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/flavor_id', 'value': 'aaa', 'op': 'replace'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -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": "Flavor with zero root volume size is not supported when boot_volume_size is zero", "detail": "Flavor with zero root volume size is not supported when boot_volume_size is zero.", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_invalid_flavor -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_invalid_flavor ... 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.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_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_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_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.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.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_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 -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_delete_cert_with_fail ... 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.common.cert_manager.test_local.TestLocalManager.test_delete_cert_without_intermediate -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_delete_cert_without_intermediate ... ok -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_delete_cert_without_pkp -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_delete_cert_without_pkp ... ok -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert -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.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.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.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.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 /usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:370: 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 @@ -7221,176 +8201,34 @@ 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_certificate_policy.TestCertifiactePolicy.test_create_no_permission -magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_create_no_permission ... ok - -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/external_network_id', 'value': 'aaa', 'op': 'replace'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -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": "aaa", "detail": "aaa", "links": []}]} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/flavor_id', 'value': 'aaa', 'op': 'replace'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -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": "aaa", "detail": "aaa", "links": []}]} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/image_id', 'value': 'aaa', 'op': 'replace'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -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": "aaa", "detail": "aaa", "links": []}]} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/keypair_id', 'value': 'aaa', 'op': 'replace'}] -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -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.12 -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-11-09T01:06:58.099409+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-11-09T01:06:58.099409+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} -PATCH: /v1/clustertemplates/ac35eb11-764d-4e2b-8405-189cf177e4ff [{'path': '/name', 'value': 'cluster_model_example_B', 'op': 'replace'}] -GOT:Response: 200 OK -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "ac35eb11-764d-4e2b-8405-189cf177e4ff", "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/ac35eb11-764d-4e2b-8405-189cf177e4ff", "rel": "self"}, {"href": "http://localhost/clustertemplates/ac35eb11-764d-4e2b-8405-189cf177e4ff", "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": "ac35eb11-764d-4e2b-8405-189cf177e4ff", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2026-11-09T01:06:58.140549+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.12 -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-11-09T01:06:58.176689+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-11-09T01:06:58.176689+00:00', 'updated_at': '2026-11-09T01:06:58.212125+00:00'}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_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_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.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.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.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_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.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_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 - -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.12 -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-11-09T01:06:58.245375+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.12 -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-11-09T01:06:58.293367+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-11-09T01:06:58.293367+00:00', 'updated_at': '2026-11-09T01:06:58.313030+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 -Openstack-Api-Maximum-Version: container-infra 1.12 -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": []}]} -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.12 -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-11-09T01:06:58.403638+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-11-09T01:06:58.403638+00:00', 'updated_at': '2026-11-09T01:06:58.459794+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 -Openstack-Api-Maximum-Version: container-infra 1.12 -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-11-09T01:06:58.493492+00:00", "updated_at": null}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_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_nodegroup_policy.TestNodeGroupPolicy.test_delete_no_permission -magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_delete_no_permission ... 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 -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_update_not_found -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_not_found ... 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.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_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_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.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.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.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.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.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 @@ -7401,8 +8239,6 @@ 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.api.controllers.v1.test_credential.TestCredentialPolicyEnforcement.test_policy_disallow_rotate -magnum.tests.unit.api.controllers.v1.test_credential.TestCredentialPolicyEnforcement.test_policy_disallow_rotate ... 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 @@ -7421,8 +8257,6 @@ 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 -magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation ... 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 @@ -7433,131 +8267,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 - -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'}] -GOT:Response: 200 OK -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -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-11-09T01:06:58.612456+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-11-09T01:06:58.612456+00:00', 'updated_at': '2026-11-09T01:06:58.632471+00:00'} -PATCH: /v1/clustertemplates/f7e29d47-5a0c-4548-8a71-c1f6f50a5f68 [{'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.12 -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 f7e29d47-5a0c-4548-8a71-c1f6f50a5f68 could not be found", "detail": "ClusterTemplate f7e29d47-5a0c-4548-8a71-c1f6f50a5f68 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.12 -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-11-09T01:06:58.687590+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-11-09T01:06:58.687590+00:00', 'updated_at': '2026-11-09T01:06:58.703045+00:00'} -PATCH: /v1/credentials/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:Response: 403 Forbidden -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow credential:rotate to be performed", "detail": "Policy doesn't allow credential:rotate to be performed.", "links": []}]} -DELETE: /v1/federations/ec9fa106-551f-46cc-abec-98ada66d6b6c -GOT:Response: 204 No Content -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version - -GET: /v1/federations/ec9fa106-551f-46cc-abec-98ada66d6b6c {} -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -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 ec9fa106-551f-46cc-abec-98ada66d6b6c could not be found", "detail": "Federation ec9fa106-551f-46cc-abec-98ada66d6b6c could not be found.", "links": []}]} -DELETE: /v1/federations/3274251f-b8bb-487d-b494-bc9f5ed371ac -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -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 3274251f-b8bb-487d-b494-bc9f5ed371ac could not be found", "detail": "Federation 3274251f-b8bb-487d-b494-bc9f5ed371ac could not be found.", "links": []}]}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.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_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.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.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.api.controllers.v1.test_federation.TestListFederation.test_detail -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail ... 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_federation.TestListFederation.test_detail_against_single -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail_against_single ... 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_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.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.api.controllers.v1.test_federation.TestListFederation.test_empty -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_empty ... 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.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.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.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.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.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.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.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 @@ -7584,20 +8299,10 @@ 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.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.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.api.controllers.v1.test_federation.TestListFederation.test_links -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_links ... 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 @@ -7606,746 +8311,84 @@ 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.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.test_utils.ExecuteTestCase.test_no_retry_on_success magnum.tests.unit.common.test_utils.ExecuteTestCase.test_no_retry_on_success ... ok - -DELETE: /v1/federations/federation-example -GOT:Response: 204 No Content -Openstack-Api-Maximum-Version: container-infra 1.12 -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.12 -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': 'c33f35ed-a9e0-49b4-850f-468978add441', '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/c33f35ed-a9e0-49b4-850f-468978add441', 'rel': 'self'}, {'href': 'http://localhost/federations/c33f35ed-a9e0-49b4-850f-468978add441', 'rel': 'bookmark'}], 'created_at': '2026-11-09T01:06:58.836214+00:00', 'updated_at': None}]} -GET: /v1/federations/ce244255-acaa-4e7f-89fa-9893e7993171/detail {} -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -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=03b5afac-70a0-4187-96ae-192902dedf12 {} -GOT:{'federations': [{'uuid': '8fc9e978-bdd0-4669-927f-9eead47e03b2', '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/8fc9e978-bdd0-4669-927f-9eead47e03b2', 'rel': 'self'}, {'href': 'http://localhost/federations/8fc9e978-bdd0-4669-927f-9eead47e03b2', 'rel': 'bookmark'}], 'created_at': '2026-11-09T01:06:58.872604+00:00', 'updated_at': None}]} -GET: /v1/federations {} -GOT:{'federations': []} -GET: /v1/federations?limit=3&marker=7696d7c9-9ceb-49cd-b05b-5c14b8f465d2 {} -GOT:{'federations': [{'uuid': 'c58f0507-9ba8-40fe-b706-5cfb35c6739e', '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/c58f0507-9ba8-40fe-b706-5cfb35c6739e', 'rel': 'self'}, {'href': 'http://localhost/federations/c58f0507-9ba8-40fe-b706-5cfb35c6739e', 'rel': 'bookmark'}]}]} -GET: /v1/federations/c200eb80-d408-47dc-9a9e-51fe13596d88 {} -GOT:{'uuid': 'c200eb80-d408-47dc-9a9e-51fe13596d88', '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/c200eb80-d408-47dc-9a9e-51fe13596d88', 'rel': 'self'}, {'href': 'http://localhost/federations/c200eb80-d408-47dc-9a9e-51fe13596d88', 'rel': 'bookmark'}], 'created_at': '2026-11-09T01:06:58.931563+00:00', 'updated_at': None} -GET: /v1/federations/fake-name {} -GOT:{'uuid': '2ddf50ba-881a-4e74-880d-cb26b74120dc', '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/2ddf50ba-881a-4e74-880d-cb26b74120dc', 'rel': 'self'}, {'href': 'http://localhost/federations/2ddf50ba-881a-4e74-880d-cb26b74120dc', 'rel': 'bookmark'}], 'created_at': '2026-11-09T01:06:58.948367+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.12 -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.12 -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/72a003e4-2e36-47f9-8811-041f4630492f {} -GOT:{'uuid': '72a003e4-2e36-47f9-8811-041f4630492f', '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/72a003e4-2e36-47f9-8811-041f4630492f', 'rel': 'self'}, {'href': 'http://localhost/federations/72a003e4-2e36-47f9-8811-041f4630492f', 'rel': 'bookmark'}], 'created_at': '2026-11-09T01:06:58.995595+00:00', 'updated_at': None} -GET: /v1/federations/df54911b-4b04-42b5-a80b-bf44877b9b14 {} -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -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 df54911b-4b04-42b5-a80b-bf44877b9b14 could not be found", "detail": "Federation df54911b-4b04-42b5-a80b-bf44877b9b14 could not be found.", "links": []}]} -GET: /v1/federations/bb7f21bb-8fc4-4437-a16e-0d67e9e866ee {} -GOT:{'uuid': 'bb7f21bb-8fc4-4437-a16e-0d67e9e866ee', '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/bb7f21bb-8fc4-4437-a16e-0d67e9e866ee', 'rel': 'self'}, {'href': 'http://localhost/federations/bb7f21bb-8fc4-4437-a16e-0d67e9e866ee', 'rel': 'bookmark'}], 'created_at': '2026-11-09T01:06:59.025839+00:00', 'updated_at': None} -GET: /v1/federations/bb7f21bb-8fc4-4437-a16e-0d67e9e866ee {} -GOT:{'uuid': 'bb7f21bb-8fc4-4437-a16e-0d67e9e866ee', '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/bb7f21bb-8fc4-4437-a16e-0d67e9e866ee', 'rel': 'self'}, {'href': 'http://localhost/federations/bb7f21bb-8fc4-4437-a16e-0d67e9e866ee', 'rel': 'bookmark'}], 'created_at': '2026-11-09T01:06:59.025839+00:00', 'updated_at': None} -GET: /federations/bb7f21bb-8fc4-4437-a16e-0d67e9e866ee {} -GOT:{'uuid': 'bb7f21bb-8fc4-4437-a16e-0d67e9e866ee', '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/bb7f21bb-8fc4-4437-a16e-0d67e9e866ee', 'rel': 'self'}, {'href': 'http://localhost/federations/bb7f21bb-8fc4-4437-a16e-0d67e9e866ee', 'rel': 'bookmark'}], 'created_at': '2026-11-09T01:06:59.025839+00:00', 'updated_at': None} -GET: /v1/federations {} -GOT:{'federations': [{'uuid': '19dc13df-f50d-4009-b7df-b8a6eb02b01a', '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/19dc13df-f50d-4009-b7df-b8a6eb02b01a', 'rel': 'self'}, {'href': 'http://localhost/federations/19dc13df-f50d-4009-b7df-b8a6eb02b01a', 'rel': 'bookmark'}]}, {'uuid': 'b2a94502-2e14-411c-b60a-3571f4d8ae24', '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/b2a94502-2e14-411c-b60a-3571f4d8ae24', 'rel': 'self'}, {'href': 'http://localhost/federations/b2a94502-2e14-411c-b60a-3571f4d8ae24', 'rel': 'bookmark'}]}, {'uuid': '26d8eae4-ff67-4af4-91fd-4fe783f230da', '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/26d8eae4-ff67-4af4-91fd-4fe783f230da', 'rel': 'self'}, {'href': 'http://localhost/federations/26d8eae4-ff67-4af4-91fd-4fe783f230da', 'rel': 'bookmark'}]}, {'uuid': '0d35bc0f-139b-4fd2-a915-df3ad7433dcb', '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/0d35bc0f-139b-4fd2-a915-df3ad7433dcb', 'rel': 'self'}, {'href': 'http://localhost/federations/0d35bc0f-139b-4fd2-a915-df3ad7433dcb', 'rel': 'bookmark'}]}, {'uuid': '353e1a9f-b196-4e9f-b4ae-b2ad91d7a9fa', '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/353e1a9f-b196-4e9f-b4ae-b2ad91d7a9fa', 'rel': 'self'}, {'href': 'http://localhost/federations/353e1a9f-b196-4e9f-b4ae-b2ad91d7a9fa', '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_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.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 -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_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_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_api_major_version_above_range -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_api_major_version_above_range ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_api_minor_version_above_range -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_api_minor_version_above_range ... 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.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_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.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_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 - -GET: /v1/federations {} -GOT:{'federations': [{'uuid': '68ba787e-8a67-45fb-a536-7e2f9f2f712d', '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/68ba787e-8a67-45fb-a536-7e2f9f2f712d', 'rel': 'self'}, {'href': 'http://localhost/federations/68ba787e-8a67-45fb-a536-7e2f9f2f712d', 'rel': 'bookmark'}]}]} -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.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -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/8812e839-a7d7-4b22-90c6-b81f6fcead4b -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -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.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -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.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -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/aa35ba96-b2cf-4d1e-92f0-d884a669672d/nodegroups/8effcbb3-4a43-4377-b662-d3e166780faf -GOT:Response: 204 No Content -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -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.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -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.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -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/fa9e27f9-cdd7-432f-af75-45fd930086aa -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup fa9e27f9-cdd7-432f-af75-45fd930086aa could not be found", "detail": "Nodegroup fa9e27f9-cdd7-432f-af75-45fd930086aa 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/6893efe7-3a83-4ef1-96e2-81b25a8e5129/nodegroups {} -GOT:{'nodegroups': [{'uuid': '68eea7f3-eaa0-4fc4-bff7-7e40b36c3496', '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': 'a4d1934a-1619-4508-8fd3-34b2e214cdf8', '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/6acfeecf-32b7-4a11-bd56-813a2813c3c2/nodegroups/ {} -GOT:Response: 406 Not Acceptable -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 2.11 -Vary: OpenStack-API-Version -{"errors": [{"max_version": "1.12", "min_version": "1.1", "code": "magnum.microversion-unsupported", "links": [{"rel": "help", "href": "http://docs.openstack.org/api-guide/compute/microversions.html"}], "title": "Requested microversion is unsupported"}]} -GET: /v1/clusters/a7ff84fb-e104-4c08-9aee-b3bcca6baa07/nodegroups/ {} -GOT:Response: 406 Not Acceptable -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.999 -Vary: OpenStack-API-Version -{"errors": [{"max_version": "1.12", "min_version": "1.1", "code": "magnum.microversion-unsupported", "links": [{"rel": "help", "href": "http://docs.openstack.org/api-guide/compute/microversions.html"}], "title": "Requested microversion is unsupported"}]} -GET: /v1/clusters/436cc626-ddcd-4b35-b894-1e8594581bbb/nodegroups {} -GOT:{'nodegroups': [{'uuid': 'c5b21fd9-ac2b-47e5-8142-8d514550ae37', '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': '67051b2f-9bde-40b5-bde4-1b8b6a7688cc', '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': '7daff4b5-7364-413c-81d4-1bcae5d43ec0', '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': '2ab4d2e5-7449-4118-a688-e970d615b260', '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': 'c679494d-1c79-4f3d-8de9-4884119df71f', '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': '64518904-21f0-46d5-adc4-405447990704', '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}]}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.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.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.GeneratePasswordTestCase.test_generate_password +magnum.tests.unit.common.test_utils.GeneratePasswordTestCase.test_generate_password ... 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.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_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_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_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.TestListNodegroups.test_get_one_non_existent_ng -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_non_existent_ng ... ok - -GET: /v1/clusters/cluster1/nodegroups?role=non-existent {} -GOT:{'nodegroups': []} -GET: /v1/clusters/cluster1/nodegroups?role=master {} -GOT:{'nodegroups': [{'uuid': '68804a13-4d98-47c9-a1d4-f3fba0077ccb', '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': 'a5c00c8e-d863-49cd-a729-9dc8b333a284', '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.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -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/521e7838-578c-4b10-88d9-0f61216b8fd2/nodegroups?limit=1 {} -GOT:{'nodegroups': [{'uuid': 'faf514ae-a736-48a1-aaab-a3e5db3c67c7', '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/521e7838-578c-4b10-88d9-0f61216b8fd2/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=faf514ae-a736-48a1-aaab-a3e5db3c67c7'} -GET: /v1/clusters/521e7838-578c-4b10-88d9-0f61216b8fd2/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=faf514ae-a736-48a1-aaab-a3e5db3c67c7 {} -GOT:{'nodegroups': [{'uuid': '512f14ae-abd6-4344-8581-74ca2f20e32c', '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/521e7838-578c-4b10-88d9-0f61216b8fd2/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=512f14ae-abd6-4344-8581-74ca2f20e32c'} -GET: /v1/clusters/521e7838-578c-4b10-88d9-0f61216b8fd2/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=512f14ae-abd6-4344-8581-74ca2f20e32c {} -GOT:{'nodegroups': []} -GET: /v1/clusters/5c89f1ad-5167-4f29-b00b-e8f76ec27528/nodegroups/ {} -GOT:Response: 406 Not Acceptable -Content-Type: application/json -{"errors": [{"request_id": "", "code": "", "status": 406, "title": "", "detail": "", "links": []}]} -GET: /v1/clusters/894bafc0-e497-47fc-b977-563c92071325/nodegroups/183545f9-baf6-47e4-9420-6b5ee69d8f83 {} -GOT:{'id': 1, 'uuid': '183545f9-baf6-47e4-9420-6b5ee69d8f83', 'name': 'test-worker', 'cluster_id': '894bafc0-e497-47fc-b977-563c92071325', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/894bafc0-e497-47fc-b977-563c92071325/nodegroups/183545f9-baf6-47e4-9420-6b5ee69d8f83', 'rel': 'self'}, {'href': 'http://localhost/clusters/894bafc0-e497-47fc-b977-563c92071325/nodegroups/183545f9-baf6-47e4-9420-6b5ee69d8f83', '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-11-09T01:06:59.742250+00:00', 'updated_at': None} -GET: /v1/clusters/2a1e4e10-dbf2-43c9-bb6a-06ed67d6337f/nodegroups/36626560-3167-44d4-b685-10a723e153ad {} -GOT:{'id': 3, 'uuid': '36626560-3167-44d4-b685-10a723e153ad', 'name': 'test-worker', 'cluster_id': '2a1e4e10-dbf2-43c9-bb6a-06ed67d6337f', 'project_id': '2a1e4e10-dbf2-43c9-bb6a-06ed67d6337f', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/2a1e4e10-dbf2-43c9-bb6a-06ed67d6337f/nodegroups/36626560-3167-44d4-b685-10a723e153ad', 'rel': 'self'}, {'href': 'http://localhost/clusters/2a1e4e10-dbf2-43c9-bb6a-06ed67d6337f/nodegroups/36626560-3167-44d4-b685-10a723e153ad', '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-11-09T01:06:59.779498+00:00', 'updated_at': None} -GET: /v1/clusters/4f8bc40e-4447-4e75-a6ee-ab1ae3eb200f/nodegroups/non_default_ng {} -GOT:{'id': 3, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'non_default_ng', 'cluster_id': '4f8bc40e-4447-4e75-a6ee-ab1ae3eb200f', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {'label1': 'value3', 'label2': 'value2', 'label4': 'value4'}, 'links': [{'href': 'http://localhost/v1/clusters/4f8bc40e-4447-4e75-a6ee-ab1ae3eb200f/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/4f8bc40e-4447-4e75-a6ee-ab1ae3eb200f/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-11-09T01:06:59.820803+00:00', 'updated_at': None} -GET: /v1/clusters/60132059-d477-4ecc-8fc4-b072d7295855/nodegroups/non_default_ng {} -GOT:{'id': 3, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'non_default_ng', 'cluster_id': '60132059-d477-4ecc-8fc4-b072d7295855', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {'label1': 'value3', 'label4': 'value4'}, 'links': [{'href': 'http://localhost/v1/clusters/60132059-d477-4ecc-8fc4-b072d7295855/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/60132059-d477-4ecc-8fc4-b072d7295855/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-11-09T01:06:59.851593+00:00', 'updated_at': None} -GET: /v1/clusters/ce55d416-bdfe-402e-92b8-1334a7c3ef74/nodegroups/not-here {} -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -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/4180e56f-3874-43f3-b47e-34adee2e6e05/nodegroups/ed53949d-e92a-4c06-bbab-af9f8d898a00 {} -GOT:Response: 406 Not Acceptable -Content-Type: application/json -{"errors": [{"request_id": "", "code": "", "status": 406, "title": "", "detail": "", "links": []}]}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.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 -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 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 - -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.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -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.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -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.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -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": []}]} -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 -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -Vary: OpenStack-API-Version -{"id": 12, "uuid": "ee456f8f-de14-4888-969f-d64710580c74", "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/ee456f8f-de14-4888-969f-d64710580c74", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/ee456f8f-de14-4888-969f-d64710580c74", "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-11-09T01:07:00.249413+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.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -Vary: OpenStack-API-Version -{"id": 12, "uuid": "cd2e45f2-3ed0-4bd5-8a65-393f50a6d89f", "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/cd2e45f2-3ed0-4bd5-8a65-393f50a6d89f", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/cd2e45f2-3ed0-4bd5-8a65-393f50a6d89f", "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-11-09T01:07:00.283639+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 -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -Vary: OpenStack-API-Version -{"id": 12, "uuid": "927b162f-1c83-4ffe-a524-9ab8a18275be", "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/927b162f-1c83-4ffe-a524-9ab8a18275be", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/927b162f-1c83-4ffe-a524-9ab8a18275be", "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-11-09T01:07:00.317659+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 -{"errors": [{"request_id": "", "code": "", "status": 406, "title": "", "detail": "", "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: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -Vary: OpenStack-API-Version -{"id": 12, "uuid": "8f7f1971-ac84-4780-af4f-ba3efb7ea551", "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/8f7f1971-ac84-4780-af4f-ba3efb7ea551", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/8f7f1971-ac84-4780-af4f-ba3efb7ea551", "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 -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "max_node_count for nodegroup1 is invalid (node_count (7) should be less or equal to max_node_count (5))", "detail": "max_node_count for nodegroup1 is invalid (node_count (7) should be less or equal to max_node_count (5)).", "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': 2, 'role': 'worker', 'max_node_count': None, 'min_node_count': 3, 'merge_labels': False} -GOT:Response: 409 Conflict -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -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": []}]} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'name': 'test_ng'} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -Vary: OpenStack-API-Version -{"id": 3, "uuid": "d8017568-19e9-40ed-bc1b-5af49ee45066", "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/d8017568-19e9-40ed-bc1b-5af49ee45066", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/d8017568-19e9-40ed-bc1b-5af49ee45066", "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 -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -Vary: OpenStack-API-Version -{"id": 12, "uuid": "28ba9186-0a7d-46f4-a41f-cf71abf32ef5", "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/28ba9186-0a7d-46f4-a41f-cf71abf32ef5", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/28ba9186-0a7d-46f4-a41f-cf71abf32ef5", "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 -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -Vary: OpenStack-API-Version -{"id": 12, "uuid": "6ae15d29-f339-460c-8b34-6d6e500d5bf8", "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/6ae15d29-f339-460c-8b34-6d6e500d5bf8", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/6ae15d29-f339-460c-8b34-6d6e500d5bf8", "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 -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -Vary: OpenStack-API-Version -{"id": 12, "uuid": "d3e43606-1cb6-45c2-bd23-dbfb4752ba5e", "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/d3e43606-1cb6-45c2-bd23-dbfb4752ba5e", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/d3e43606-1cb6-45c2-bd23-dbfb4752ba5e", "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 -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -Vary: OpenStack-API-Version -{"id": 12, "uuid": "a0c6da8c-01ca-4139-92be-08bc9d95dcac", "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/a0c6da8c-01ca-4139-92be-08bc9d95dcac", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/a0c6da8c-01ca-4139-92be-08bc9d95dcac", "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_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 -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.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.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_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_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_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.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.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_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_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.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_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.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.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_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.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.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_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.test_keystone.KeystoneClientTest.test_client_with_password -magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_password ... 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.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.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.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 -magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_delete_trust_not_found ... ok -magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_get_validate_region_name -magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_get_validate_region_name ... ok -magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_get_validate_region_name_is_None -magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_get_validate_region_name_is_None ... ok -magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_get_validate_region_name_not_found -magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_get_validate_region_name_not_found ... 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.test_keystone.KeystoneClientTest.test_trustee_domain_id -magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_trustee_domain_id ... 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.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_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_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_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_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.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 -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_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_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 -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.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_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_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.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.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_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_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 @@ -8380,8 +8423,6 @@ 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 magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_domain_project_id ... 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.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_domainid 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 @@ -8408,572 +8449,16 @@ magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_retrieve_cluster_uuid_from_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.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_default_value magnum.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_default_value ... 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.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.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_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 -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_create_x509keypair_already_exists ... ok -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_destroy_x509keypair -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_destroy_x509keypair ... ok -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_destroy_x509keypair_by_uuid -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_destroy_x509keypair_by_uuid ... ok -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_destroy_x509keypair_that_does_not_exist -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_destroy_x509keypair_that_does_not_exist ... ok -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_by_id -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_by_id ... ok -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_by_uuid -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_by_uuid ... ok -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_list -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_list ... ok -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_list_by_admin_all_tenants -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.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 -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_disabled_without_fp ... ok -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_enable_lbfip_disable -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_enable_lbfip_disable ... ok -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_enable_lbfip_template_disable_cluster_enable -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_enable_lbfip_template_disable_cluster_enable ... ok -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_enabled_with_fp -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_enabled_with_fp ... ok -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_enabled_without_fp -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_enabled_without_fp ... ok -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_fip_enabled_without_fp -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_fip_enabled_without_fp ... ok -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_master_lb_fip_disabled_cluster_fip_enabled -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_master_lb_fip_disabled_cluster_fip_enabled ... ok -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_output_with_mapping_type -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_output_with_mapping_type ... ok -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_get_driver_not_supported -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_get_driver_not_supported ... ok -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_get_vm_fcos_kubernetes_definition -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_get_vm_fcos_kubernetes_definition ... ok -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_load_entry_points -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_load_entry_points ... ok -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_output_mapping -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_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 -magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_destroy ... ok -magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_get_bad_id_and_uuid -magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_get_bad_id_and_uuid ... ok -magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_get_by_id -magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_get_by_id ... ok -magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_get_by_name -magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_get_by_name ... ok -magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_get_by_uuid -magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_get_by_uuid ... ok -magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_list -magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_list ... ok -magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_refresh -magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_refresh ... ok -magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_save -magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_save ... ok -magnum.tests.unit.objects.test_federation.TestFederationObject.test_create -magnum.tests.unit.objects.test_federation.TestFederationObject.test_create ... ok -magnum.tests.unit.objects.test_federation.TestFederationObject.test_destroy -magnum.tests.unit.objects.test_federation.TestFederationObject.test_destroy ... ok -magnum.tests.unit.objects.test_federation.TestFederationObject.test_get_bad_id_and_uuid -magnum.tests.unit.objects.test_federation.TestFederationObject.test_get_bad_id_and_uuid ... ok -magnum.tests.unit.objects.test_federation.TestFederationObject.test_get_by_id -magnum.tests.unit.objects.test_federation.TestFederationObject.test_get_by_id ... ok -magnum.tests.unit.objects.test_federation.TestFederationObject.test_get_by_name -magnum.tests.unit.objects.test_federation.TestFederationObject.test_get_by_name ... ok -magnum.tests.unit.objects.test_federation.TestFederationObject.test_get_by_uuid -magnum.tests.unit.objects.test_federation.TestFederationObject.test_get_by_uuid ... ok -magnum.tests.unit.objects.test_federation.TestFederationObject.test_list -magnum.tests.unit.objects.test_federation.TestFederationObject.test_list ... ok -magnum.tests.unit.objects.test_federation.TestFederationObject.test_list_all -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.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 -magnum.tests.unit.objects.test_federation.TestFederationObject.test_save ... ok -magnum.tests.unit.objects.test_fields.TestClusterHealthStatus.test_coerce_bad_values -magnum.tests.unit.objects.test_fields.TestClusterHealthStatus.test_coerce_bad_values ... ok -magnum.tests.unit.objects.test_fields.TestClusterHealthStatus.test_coerce_good_values -magnum.tests.unit.objects.test_fields.TestClusterHealthStatus.test_coerce_good_values ... ok -magnum.tests.unit.objects.test_fields.TestClusterHealthStatus.test_from_primitive -magnum.tests.unit.objects.test_fields.TestClusterHealthStatus.test_from_primitive ... ok -magnum.tests.unit.objects.test_fields.TestClusterHealthStatus.test_stringify -magnum.tests.unit.objects.test_fields.TestClusterHealthStatus.test_stringify ... ok -magnum.tests.unit.objects.test_fields.TestClusterHealthStatus.test_stringify_invalid -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.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_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 -magnum.tests.unit.objects.test_objects.TestObject.test_changed_1 ... ok -magnum.tests.unit.objects.test_objects.TestObject.test_changed_2 -magnum.tests.unit.objects.test_objects.TestObject.test_changed_2 ... ok -magnum.tests.unit.objects.test_objects.TestObject.test_changed_3 -magnum.tests.unit.objects.test_objects.TestObject.test_changed_3 ... ok -magnum.tests.unit.objects.test_objects.TestObject.test_changed_4 -magnum.tests.unit.objects.test_objects.TestObject.test_changed_4 ... ok -magnum.tests.unit.objects.test_objects.TestObject.test_changes_in_primitive -magnum.tests.unit.objects.test_objects.TestObject.test_changes_in_primitive ... ok -magnum.tests.unit.objects.test_objects.TestObject.test_contains -magnum.tests.unit.objects.test_objects.TestObject.test_contains ... ok -magnum.tests.unit.objects.test_objects.TestObject.test_dehydration -magnum.tests.unit.objects.test_objects.TestObject.test_dehydration ... ok -magnum.tests.unit.objects.test_objects.TestObject.test_get -magnum.tests.unit.objects.test_objects.TestObject.test_get ... ok -magnum.tests.unit.objects.test_objects.TestObject.test_get_changes -magnum.tests.unit.objects.test_objects.TestObject.test_get_changes ... ok -magnum.tests.unit.objects.test_objects.TestObject.test_get_updates -magnum.tests.unit.objects.test_objects.TestObject.test_get_updates ... ok -magnum.tests.unit.objects.test_objects.TestObject.test_hydration -magnum.tests.unit.objects.test_objects.TestObject.test_hydration ... ok -magnum.tests.unit.objects.test_objects.TestObject.test_hydration_bad_ns -magnum.tests.unit.objects.test_objects.TestObject.test_hydration_bad_ns ... ok -magnum.tests.unit.objects.test_objects.TestObject.test_hydration_type_error -magnum.tests.unit.objects.test_objects.TestObject.test_hydration_type_error ... ok -magnum.tests.unit.objects.test_objects.TestObject.test_load -magnum.tests.unit.objects.test_objects.TestObject.test_load ... ok -magnum.tests.unit.objects.test_objects.TestObject.test_load_in_base -magnum.tests.unit.objects.test_objects.TestObject.test_load_in_base ... ok -magnum.tests.unit.objects.test_objects.TestObject.test_loaded_in_primitive -magnum.tests.unit.objects.test_objects.TestObject.test_loaded_in_primitive ... ok -magnum.tests.unit.objects.test_objects.TestObject.test_obj_attr_is_set -magnum.tests.unit.objects.test_objects.TestObject.test_obj_attr_is_set ... ok -magnum.tests.unit.objects.test_objects.TestObject.test_obj_constructor -magnum.tests.unit.objects.test_objects.TestObject.test_obj_constructor ... ok -magnum.tests.unit.objects.test_objects.TestObject.test_obj_fields -magnum.tests.unit.objects.test_objects.TestObject.test_obj_fields ... 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.objects.test_objects.TestObject.test_object_inheritance -magnum.tests.unit.objects.test_objects.TestObject.test_object_inheritance ... ok -magnum.tests.unit.objects.test_objects.TestObject.test_object_property -magnum.tests.unit.objects.test_objects.TestObject.test_object_property ... ok -magnum.tests.unit.objects.test_objects.TestObject.test_object_property_type_error -magnum.tests.unit.objects.test_objects.TestObject.test_object_property_type_error ... ok -magnum.tests.unit.objects.test_objects.TestObject.test_orphaned_object -magnum.tests.unit.objects.test_objects.TestObject.test_orphaned_object ... ok -magnum.tests.unit.objects.test_objects.TestObject.test_static_result -magnum.tests.unit.objects.test_objects.TestObject.test_static_result ... ok -magnum.tests.unit.objects.test_objects.TestObject.test_unknown_objtype -magnum.tests.unit.objects.test_objects.TestObject.test_unknown_objtype ... ok -magnum.tests.unit.objects.test_objects.TestObject.test_updates -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.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 -magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport_zero ... ok -magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_backports_level1 -magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_backports_level1 ... ok -magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_backports_level2 -magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_backports_level2 ... ok -magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_passes_revision -magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_passes_revision ... ok -magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_same_revision_does_not_backport -magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_same_revision_does_not_backport ... ok -magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization -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_objects.TestObjectVersions.test_versions -magnum.tests.unit.objects.test_objects.TestObjectVersions.test_versions ... 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.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 -magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_sync_cluster_status_changes ... 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 -magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_sync_cluster_status_not_changes ... ok -magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_update_status_non_trusts_error -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/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.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -Vary: OpenStack-API-Version -{"id": 12, "uuid": "cb587a39-a38c-4680-9cdb-ba600a6b8595", "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/cb587a39-a38c-4680-9cdb-ba600a6b8595", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/cb587a39-a38c-4680-9cdb-ba600a6b8595", "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.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -Vary: OpenStack-API-Version -{"id": 12, "uuid": "eb497065-966d-4a12-8e49-bb82f9b1aeda", "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/eb497065-966d-4a12-8e49-bb82f9b1aeda", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/eb497065-966d-4a12-8e49-bb82f9b1aeda", "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.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -Vary: OpenStack-API-Version -{"id": 12, "uuid": "64aae99a-1415-4f5e-90d4-be123a0d8058", "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/64aae99a-1415-4f5e-90d4-be123a0d8058", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/64aae99a-1415-4f5e-90d4-be123a0d8058", "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} -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'}] -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.12 -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-11-09T01:07:01.643284+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.12 -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-11-09T01:07:01.689745+00:00", "updated_at": null} -PATCH: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 20} -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. -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. -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. -magnum.tests.unit.test_hacking.HackingTestCase.test_assert_equal_in -magnum.tests.unit.test_hacking.HackingTestCase.test_assert_equal_in ... ok -stdin:1:1: M302 assertEqual(A is not None) sentences not allowed. -magnum.tests.unit.test_hacking.HackingTestCase.test_assert_is_not_none -magnum.tests.unit.test_hacking.HackingTestCase.test_assert_is_not_none ... ok -stdin:1:1: M316 assertTrue(isinstance(a, b)) sentences not allowed -magnum.tests.unit.test_hacking.HackingTestCase.test_assert_true_isinstance -magnum.tests.unit.test_hacking.HackingTestCase.test_assert_true_isinstance ... ok -magnum.tests.unit.test_hacking.HackingTestCase.test_check_explicit_underscore_import -magnum.tests.unit.test_hacking.HackingTestCase.test_check_explicit_underscore_import ... ok -magnum.tests.unit.test_hacking.HackingTestCase.test_dict_constructor_with_list_copy -magnum.tests.unit.test_hacking.HackingTestCase.test_dict_constructor_with_list_copy ... ok -stdin:1:1: M352 LOG.warn is deprecated, please use LOG.warning! -magnum.tests.unit.test_hacking.HackingTestCase.test_no_log_warn -magnum.tests.unit.test_hacking.HackingTestCase.test_no_log_warn ... ok -stdin:1:1: M322 Method's default argument shouldn't be mutable! -magnum.tests.unit.test_hacking.HackingTestCase.test_no_mutable_default_args -magnum.tests.unit.test_hacking.HackingTestCase.test_no_mutable_default_args ... ok -stdin:1:1: M339 Do not use xrange(). -magnum.tests.unit.test_hacking.HackingTestCase.test_no_xrange -magnum.tests.unit.test_hacking.HackingTestCase.test_no_xrange ... ok -stdin:1:1: M310 timeutils.utcnow() must be used instead of datetime.now() -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_client_certificate_set_issuer_name -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_issuer_name ... ok -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_subject_name -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_subject_name ... ok -magnum.tests.unit.common.x509.test_sign.TestX509.test_load_pem_private_key_with_bytes_private_key -magnum.tests.unit.common.x509.test_sign.TestX509.test_load_pem_private_key_with_bytes_private_key ... ok -magnum.tests.unit.common.x509.test_sign.TestX509.test_load_pem_private_key_with_unicode_private_key -magnum.tests.unit.common.x509.test_sign.TestX509.test_load_pem_private_key_with_unicode_private_key ... ok -magnum.tests.unit.common.x509.test_sign.TestX509.test_sign_empty_chars -magnum.tests.unit.common.x509.test_sign.TestX509.test_sign_empty_chars ... ok -magnum.tests.unit.common.x509.test_sign.TestX509.test_sign_subject_key_identifier -magnum.tests.unit.common.x509.test_sign.TestX509.test_sign_subject_key_identifier ... 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 -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 -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_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.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_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_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_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.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 @@ -9106,58 +8591,10 @@ 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.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.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 -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_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 @@ -9272,6 +8709,28 @@ 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_federation.TestFederationObject.test_create +magnum.tests.unit.objects.test_federation.TestFederationObject.test_create ... ok +magnum.tests.unit.objects.test_federation.TestFederationObject.test_destroy +magnum.tests.unit.objects.test_federation.TestFederationObject.test_destroy ... ok +magnum.tests.unit.objects.test_federation.TestFederationObject.test_get_bad_id_and_uuid +magnum.tests.unit.objects.test_federation.TestFederationObject.test_get_bad_id_and_uuid ... ok +magnum.tests.unit.objects.test_federation.TestFederationObject.test_get_by_id +magnum.tests.unit.objects.test_federation.TestFederationObject.test_get_by_id ... ok +magnum.tests.unit.objects.test_federation.TestFederationObject.test_get_by_name +magnum.tests.unit.objects.test_federation.TestFederationObject.test_get_by_name ... ok +magnum.tests.unit.objects.test_federation.TestFederationObject.test_get_by_uuid +magnum.tests.unit.objects.test_federation.TestFederationObject.test_get_by_uuid ... ok +magnum.tests.unit.objects.test_federation.TestFederationObject.test_list +magnum.tests.unit.objects.test_federation.TestFederationObject.test_list ... ok +magnum.tests.unit.objects.test_federation.TestFederationObject.test_list_all +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.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 +magnum.tests.unit.objects.test_federation.TestFederationObject.test_save ... 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 @@ -9308,18 +8767,18 @@ 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 -magnum.tests.unit.objects.test_magnum_service.TestMagnumServiceObject.test_destroy ... ok -magnum.tests.unit.objects.test_magnum_service.TestMagnumServiceObject.test_get_by_host_and_binary -magnum.tests.unit.objects.test_magnum_service.TestMagnumServiceObject.test_get_by_host_and_binary ... ok -magnum.tests.unit.objects.test_magnum_service.TestMagnumServiceObject.test_get_by_host_and_binary_no_service -magnum.tests.unit.objects.test_magnum_service.TestMagnumServiceObject.test_get_by_host_and_binary_no_service ... ok -magnum.tests.unit.objects.test_magnum_service.TestMagnumServiceObject.test_report_state_up -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_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_nodegroup.TestNodeGroupObject.test_create magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_create ... ok magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_destroy @@ -9338,14 +8797,127 @@ 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 +magnum.tests.unit.objects.test_objects.TestObject.test_changed_1 ... ok +magnum.tests.unit.objects.test_objects.TestObject.test_changed_2 +magnum.tests.unit.objects.test_objects.TestObject.test_changed_2 ... ok +magnum.tests.unit.objects.test_objects.TestObject.test_changed_3 +magnum.tests.unit.objects.test_objects.TestObject.test_changed_3 ... ok +magnum.tests.unit.objects.test_objects.TestObject.test_changed_4 +magnum.tests.unit.objects.test_objects.TestObject.test_changed_4 ... ok +magnum.tests.unit.objects.test_objects.TestObject.test_changes_in_primitive +magnum.tests.unit.objects.test_objects.TestObject.test_changes_in_primitive ... ok +magnum.tests.unit.objects.test_objects.TestObject.test_contains +magnum.tests.unit.objects.test_objects.TestObject.test_contains ... ok +magnum.tests.unit.objects.test_objects.TestObject.test_dehydration +magnum.tests.unit.objects.test_objects.TestObject.test_dehydration ... ok +magnum.tests.unit.objects.test_objects.TestObject.test_get +magnum.tests.unit.objects.test_objects.TestObject.test_get ... ok +magnum.tests.unit.objects.test_objects.TestObject.test_get_changes +magnum.tests.unit.objects.test_objects.TestObject.test_get_changes ... ok +magnum.tests.unit.objects.test_objects.TestObject.test_get_updates +magnum.tests.unit.objects.test_objects.TestObject.test_get_updates ... ok +magnum.tests.unit.objects.test_objects.TestObject.test_hydration +magnum.tests.unit.objects.test_objects.TestObject.test_hydration ... ok +magnum.tests.unit.objects.test_objects.TestObject.test_hydration_bad_ns +magnum.tests.unit.objects.test_objects.TestObject.test_hydration_bad_ns ... ok +magnum.tests.unit.objects.test_objects.TestObject.test_hydration_type_error +magnum.tests.unit.objects.test_objects.TestObject.test_hydration_type_error ... ok +magnum.tests.unit.objects.test_objects.TestObject.test_load +magnum.tests.unit.objects.test_objects.TestObject.test_load ... ok +magnum.tests.unit.objects.test_objects.TestObject.test_load_in_base +magnum.tests.unit.objects.test_objects.TestObject.test_load_in_base ... ok +magnum.tests.unit.objects.test_objects.TestObject.test_loaded_in_primitive +magnum.tests.unit.objects.test_objects.TestObject.test_loaded_in_primitive ... ok +magnum.tests.unit.objects.test_objects.TestObject.test_obj_attr_is_set +magnum.tests.unit.objects.test_objects.TestObject.test_obj_attr_is_set ... ok +magnum.tests.unit.objects.test_objects.TestObject.test_obj_constructor +magnum.tests.unit.objects.test_objects.TestObject.test_obj_constructor ... ok +magnum.tests.unit.objects.test_objects.TestObject.test_obj_fields +magnum.tests.unit.objects.test_objects.TestObject.test_obj_fields ... ok +magnum.tests.unit.objects.test_objects.TestObject.test_object_inheritance +magnum.tests.unit.objects.test_objects.TestObject.test_object_inheritance ... ok +magnum.tests.unit.objects.test_objects.TestObject.test_object_property +magnum.tests.unit.objects.test_objects.TestObject.test_object_property ... ok +magnum.tests.unit.objects.test_objects.TestObject.test_object_property_type_error +magnum.tests.unit.objects.test_objects.TestObject.test_object_property_type_error ... ok +magnum.tests.unit.objects.test_objects.TestObject.test_orphaned_object +magnum.tests.unit.objects.test_objects.TestObject.test_orphaned_object ... ok +magnum.tests.unit.objects.test_objects.TestObject.test_static_result +magnum.tests.unit.objects.test_objects.TestObject.test_static_result ... ok +magnum.tests.unit.objects.test_objects.TestObject.test_unknown_objtype +magnum.tests.unit.objects.test_objects.TestObject.test_unknown_objtype ... ok +magnum.tests.unit.objects.test_objects.TestObject.test_updates +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.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 +magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport_zero ... ok +magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_backports_level1 +magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_backports_level1 ... ok +magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_backports_level2 +magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_backports_level2 ... ok +magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_passes_revision +magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_passes_revision ... ok +magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_same_revision_does_not_backport +magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_same_revision_does_not_backport ... ok +magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization +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_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 +magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_sync_cluster_status_changes ... 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 +magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_sync_cluster_status_not_changes ... ok +magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_update_status_non_trusts_error +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/quotas/fake_project/Cluster {} +GOT:Response: 200 OK +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +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-10-06T18:48:11.866788+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.12 +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-10-06T18:48:11.931821+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.12 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-11-09T01:06:57.160873+00:00", "updated_at": "2026-11-09T01:06:57.177075+00:00"} +{"id": 42, "hard_limit": 20, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-10-06T18:48:11.931821+00:00", "updated_at": "2025-10-06T18:48:11.957974+00:00"} POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} GOT:Response: 201 Created Content-Type: application/json @@ -9353,7 +8925,7 @@ 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-11-09T01:06:57.206718+00:00", "updated_at": null} +{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-10-06T18:48:12.009113+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 @@ -9376,22 +8948,432 @@ 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": []}]} +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/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'}] +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_issuer_name +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_issuer_name ... ok +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_subject_name +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_subject_name ... ok +magnum.tests.unit.common.x509.test_sign.TestX509.test_load_pem_private_key_with_bytes_private_key +magnum.tests.unit.common.x509.test_sign.TestX509.test_load_pem_private_key_with_bytes_private_key ... ok +magnum.tests.unit.common.x509.test_sign.TestX509.test_load_pem_private_key_with_unicode_private_key +magnum.tests.unit.common.x509.test_sign.TestX509.test_load_pem_private_key_with_unicode_private_key ... ok +magnum.tests.unit.common.x509.test_sign.TestX509.test_sign_empty_chars +magnum.tests.unit.common.x509.test_sign.TestX509.test_sign_empty_chars ... ok +magnum.tests.unit.common.x509.test_sign.TestX509.test_sign_subject_key_identifier +magnum.tests.unit.common.x509.test_sign.TestX509.test_sign_subject_key_identifier ... 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 +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 +/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.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.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.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_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_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.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.TestK8sScaleManager.test_get_hosts_with_container +magnum.tests.unit.conductor.test_scale_manager.TestK8sScaleManager.test_get_hosts_with_container ... 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_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 +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_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 +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_create_x509keypair_already_exists ... ok +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_destroy_x509keypair +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_destroy_x509keypair ... ok +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_destroy_x509keypair_by_uuid +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_destroy_x509keypair_by_uuid ... ok +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_destroy_x509keypair_that_does_not_exist +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_destroy_x509keypair_that_does_not_exist ... ok +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_by_id +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_by_id ... ok +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_by_uuid +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_by_uuid ... ok +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_list +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_list ... ok +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_list_by_admin_all_tenants +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.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 +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_disabled_without_fp ... ok +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_enable_lbfip_disable +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_enable_lbfip_disable ... ok +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_enable_lbfip_template_disable_cluster_enable +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_enable_lbfip_template_disable_cluster_enable ... ok +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_enabled_with_fp +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_enabled_with_fp ... ok +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_enabled_without_fp +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_enabled_without_fp ... ok +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_fip_enabled_without_fp +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_fip_enabled_without_fp ... ok +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_master_lb_fip_disabled_cluster_fip_enabled +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_master_lb_fip_disabled_cluster_fip_enabled ... ok +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_output_with_mapping_type +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_output_with_mapping_type ... ok +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_get_driver_not_supported +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_get_driver_not_supported ... ok +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_get_vm_fcos_kubernetes_definition +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_get_vm_fcos_kubernetes_definition ... ok +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_load_entry_points +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_load_entry_points ... ok +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_output_mapping +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_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 +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_destroy ... ok +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_get_bad_id_and_uuid +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_get_bad_id_and_uuid ... ok +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_get_by_id +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_get_by_id ... ok +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_get_by_name +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_get_by_name ... ok +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_get_by_uuid +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_get_by_uuid ... ok +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_list +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_list ... ok +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_refresh +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_refresh ... ok +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_save +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_save ... ok +magnum.tests.unit.objects.test_fields.TestClusterHealthStatus.test_coerce_bad_values +magnum.tests.unit.objects.test_fields.TestClusterHealthStatus.test_coerce_bad_values ... ok +magnum.tests.unit.objects.test_fields.TestClusterHealthStatus.test_coerce_good_values +magnum.tests.unit.objects.test_fields.TestClusterHealthStatus.test_coerce_good_values ... ok +magnum.tests.unit.objects.test_fields.TestClusterHealthStatus.test_from_primitive +magnum.tests.unit.objects.test_fields.TestClusterHealthStatus.test_from_primitive ... ok +magnum.tests.unit.objects.test_fields.TestClusterHealthStatus.test_stringify +magnum.tests.unit.objects.test_fields.TestClusterHealthStatus.test_stringify ... ok +magnum.tests.unit.objects.test_fields.TestClusterHealthStatus.test_stringify_invalid +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.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 +magnum.tests.unit.objects.test_magnum_service.TestMagnumServiceObject.test_destroy ... ok +magnum.tests.unit.objects.test_magnum_service.TestMagnumServiceObject.test_get_by_host_and_binary +magnum.tests.unit.objects.test_magnum_service.TestMagnumServiceObject.test_get_by_host_and_binary ... ok +magnum.tests.unit.objects.test_magnum_service.TestMagnumServiceObject.test_get_by_host_and_binary_no_service +magnum.tests.unit.objects.test_magnum_service.TestMagnumServiceObject.test_get_by_host_and_binary_no_service ... ok +magnum.tests.unit.objects.test_magnum_service.TestMagnumServiceObject.test_report_state_up +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_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 + GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json @@ -9399,41 +9381,96 @@ 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/bdb1ca04-3574-44d8-9ca3-e6bbd20ff41c +DELETE: /v1/federations/1bacb07d-dbcc-49ea-8a0c-7a0e5d137e58 GET: /v1/federations/detail {} GET: /v1/federations {} GET: /v1/federations {} -GOT:{'federations': [{'uuid': 'dbce4174-1e78-4ddb-8ed5-88ddb8c94eb6', '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/dbce4174-1e78-4ddb-8ed5-88ddb8c94eb6', 'rel': 'self'}, {'href': 'http://localhost/federations/dbce4174-1e78-4ddb-8ed5-88ddb8c94eb6', 'rel': 'bookmark'}]}]} -PATCH: /v1/federations/51d2a067-3d6b-4a1a-a348-f7fde96103a9 [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'add'}] -POST: /v1/clusters/be978c0c-0e23-40a6-93bc-0c43ca16d80c/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/3cdf5f97-9ce9-4d5b-af50-438e6e05a5c9/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 -GET: /v1/clusters/c97237be-ecc7-4954-b6a6-00e5d759a8d1/nodegroups/ {} -GET: /v1/clusters/1fa7c45f-d076-4568-a4d1-0ca6982d1299/nodegroups/foo {} -PATCH: /v1/clusters/3d8f3b20-2a56-488c-a08f-4d2a8ac24249/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 [{'path': '/max_node_count', 'value': 4, 'op': 'replace'}] +GOT:{'federations': [{'uuid': '13277dea-3811-4e64-8fc4-6ae5fbc7d066', '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/13277dea-3811-4e64-8fc4-6ae5fbc7d066', 'rel': 'self'}, {'href': 'http://localhost/federations/13277dea-3811-4e64-8fc4-6ae5fbc7d066', 'rel': 'bookmark'}]}]} +PATCH: /v1/federations/871d4e2f-e62b-443a-bb1b-719f053d34f7 [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'add'}] +GET: /v1/mservices {} +POST: /v1/clusters/5ba31afb-2cd2-4935-ada5-db893008b5b9/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/8c6bbc5f-2466-4291-8ec1-408936c10400/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 +GET: /v1/clusters/4877da59-fd46-4385-99e2-cefa195ded97/nodegroups/ {} +GET: /v1/clusters/15d5749b-3b18-4295-bc92-4a8741995bfc/nodegroups/foo {} +PATCH: /v1/clusters/6b180621-84af-470c-b890-e88524fbc4f5/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 [{'path': '/max_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 +Openstack-Api-Maximum-Version: container-infra 1.12 +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-10-06T18:48:04.820418+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.12 +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-10-06T18:48:04.986081+00:00", "updated_at": null} +PATCH: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 20} +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. +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. +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. +magnum.tests.unit.test_hacking.HackingTestCase.test_assert_equal_in +magnum.tests.unit.test_hacking.HackingTestCase.test_assert_equal_in ... ok +stdin:1:1: M302 assertEqual(A is not None) sentences not allowed. +magnum.tests.unit.test_hacking.HackingTestCase.test_assert_is_not_none +magnum.tests.unit.test_hacking.HackingTestCase.test_assert_is_not_none ... ok +stdin:1:1: M316 assertTrue(isinstance(a, b)) sentences not allowed +magnum.tests.unit.test_hacking.HackingTestCase.test_assert_true_isinstance +magnum.tests.unit.test_hacking.HackingTestCase.test_assert_true_isinstance ... ok +magnum.tests.unit.test_hacking.HackingTestCase.test_check_explicit_underscore_import +magnum.tests.unit.test_hacking.HackingTestCase.test_check_explicit_underscore_import ... ok +magnum.tests.unit.test_hacking.HackingTestCase.test_dict_constructor_with_list_copy +magnum.tests.unit.test_hacking.HackingTestCase.test_dict_constructor_with_list_copy ... ok +stdin:1:1: M352 LOG.warn is deprecated, please use LOG.warning! +magnum.tests.unit.test_hacking.HackingTestCase.test_no_log_warn +magnum.tests.unit.test_hacking.HackingTestCase.test_no_log_warn ... ok +stdin:1:1: M322 Method's default argument shouldn't be mutable! +magnum.tests.unit.test_hacking.HackingTestCase.test_no_mutable_default_args +magnum.tests.unit.test_hacking.HackingTestCase.test_no_mutable_default_args ... ok +stdin:1:1: M339 Do not use xrange(). +magnum.tests.unit.test_hacking.HackingTestCase.test_no_xrange +magnum.tests.unit.test_hacking.HackingTestCase.test_no_xrange ... ok +stdin:1:1: M310 timeutils.utcnow() must be used instead of datetime.now() +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 ---------------------------------------------------------------------- -Ran 1178 tests in 30.004s +Ran 1178 tests in 46.564s OK + stestr slowest Test id Runtime (s) ---------------------------------------------------------------------------------------------------------- ----------- -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_issuer_name 1.420 -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_extentions_as_client 1.120 -magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_timeout 1.009 -magnum.tests.unit.common.x509.test_sign.TestX509.test_sign_with_unicode_csr 0.908 -magnum.tests.unit.common.x509.test_operations.TestX509Operations.test_generate_csr_and_key 0.809 -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_has_publickey 0.806 -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_subject_name 0.769 -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_subject_name 0.714 -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_has_publickey 0.549 -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_extentions_as_ca 0.547 +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_issuer_name 2.918 +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_has_publickey 2.263 +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_extentions_as_client 2.164 +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_subject_name 1.593 +magnum.tests.unit.common.x509.test_sign.TestX509.test_sign_with_unicode_csr 1.467 +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_subject_name 1.446 +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_with_bytes_issuer_name 1.362 +magnum.tests.unit.common.x509.test_sign.TestX509.test_load_pem_private_key_with_bytes_private_key 1.289 +magnum.tests.unit.common.x509.test_sign.TestX509.test_sign_empty_chars 1.217 +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_has_publickey 1.195 + rm -rf .stestr dh_install --fail-missing dh_install: warning: Please use dh_missing --list-missing/--fail-missing instead @@ -9453,9 +9490,9 @@ --namespace oslo.versionedobjects \ --namespace keystonemiddleware.auth_token pkgos-readd-keystone-authtoken-missing-options /build/reproducible-path/magnum-21.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.MdfDcg:[keystone_authtoken]/www_authenticate_uri -pkgos_inifile: Setting value in pkgos-readd-keystone-authtoken-missing-options.MdfDcg:[keystone_authtoken]/auth_type -pkgos_inifile: Setting value in pkgos-readd-keystone-authtoken-missing-options.MdfDcg:[keystone_authtoken]/region_name +pkgos_inifile: Setting value in pkgos-readd-keystone-authtoken-missing-options.gy4IbZ:[keystone_authtoken]/www_authenticate_uri +pkgos_inifile: Setting value in pkgos-readd-keystone-authtoken-missing-options.gy4IbZ:[keystone_authtoken]/auth_type +pkgos_inifile: Setting value in pkgos-readd-keystone-authtoken-missing-options.gy4IbZ:[keystone_authtoken]/region_name pkgos-fix-config-default /build/reproducible-path/magnum-21.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-21.0.0/debian/magnum-common/usr/share/magnum-common/magnum.conf:[oslo_concurrency]/lock_path pkgos-fix-config-default /build/reproducible-path/magnum-21.0.0/debian/magnum-common/usr/share/magnum-common/magnum.conf keystone_authtoken auth_protocol http @@ -9551,15 +9588,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 -+ + sed s/.init.in// -echo debian/magnum-api.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 -+ echo debian/magnum-conductor.init.in -+ sed s/.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 @@ -9569,7 +9608,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 \ @@ -9578,16 +9617,18 @@ pkgos-gen-systemd-unit $i ; \ fi \ done -+ ls debian/magnum-api.init.in debian/magnum-conductor.init.in -+ echo debian/magnum-api.init.in -+ sed s/.init.in/.service.in/ +++ ls debian/magnum-api.init.in debian/magnum-conductor.init.in ++ for i in `ls debian/*.init.in` +++ sed s/.init.in/.service.in/ +++ echo debian/magnum-api.init.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 -+ + sed s/.init.in/.service.in/ -echo debian/magnum-conductor.init.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-21.0.0' @@ -9610,16 +9651,16 @@ else \ dh_gencontrol -- -T/build/reproducible-path/magnum-21.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-21.0.0' dh_md5sums -O--buildsystem=pybuild dh_builddeb -O--buildsystem=pybuild dpkg-deb: building package 'magnum-api' in '../magnum-api_21.0.0-1_all.deb'. dpkg-deb: building package 'magnum-common' in '../magnum-common_21.0.0-1_all.deb'. -dpkg-deb: building package 'magnum-conductor' in '../magnum-conductor_21.0.0-1_all.deb'. dpkg-deb: building package 'python3-magnum' in '../python3-magnum_21.0.0-1_all.deb'. +dpkg-deb: building package 'magnum-conductor' in '../magnum-conductor_21.0.0-1_all.deb'. dpkg-genbuildinfo --build=binary -O../magnum_21.0.0-1_arm64.buildinfo dpkg-genchanges --build=binary -O../magnum_21.0.0-1_arm64.changes dpkg-genchanges: info: binary-only upload (no source code included) @@ -9628,12 +9669,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/2475439/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/2475439/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/2449556 and its subdirectories -I: Current time: Sun Nov 8 13:07:35 -12 2026 -I: pbuilder-time-stamp: 1794186455 +I: removing directory /srv/workspace/pbuilder/2475439 and its subdirectories +I: Current time: Tue Oct 7 08:48:56 +14 2025 +I: pbuilder-time-stamp: 1759776536