Diff of the two buildlogs: -- --- b1/build.log 2025-01-14 17:15:01.247385754 +0000 +++ b2/build.log 2025-01-14 17:26:48.482990650 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Mon Feb 16 11:31:50 -12 2026 -I: pbuilder-time-stamp: 1771284710 +I: Current time: Wed Jan 15 07:15:03 +14 2025 +I: pbuilder-time-stamp: 1736874903 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration @@ -27,52 +27,84 @@ dpkg-source: info: applying removed-setuptools-depends.patch I: using fakeroot in build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/2216003/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/1351936/tmp/hooks/D01_modify_environment starting +debug: Running on ionos11-amd64. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Jan 14 17:15 /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/1351936/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/1351936/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='amd64' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=42 ' - DISTRIBUTION='unstable' - HOME='/root' - HOST_ARCH='amd64' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu") + BASH_VERSION='5.2.37(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=amd64 + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=20 ' + DIRSTACK=() + DISTRIBUTION=unstable + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=x86_64 + HOST_ARCH=amd64 IFS=' ' - INVOCATION_ID='f4218990a6984c81b6935a8ac1b0913a' - 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='2216003' - PS1='# ' - PS2='> ' + INVOCATION_ID=33c782d28f0847dabeeaa15395f544e2 + LANG=C + LANGUAGE=et_EE:et + LC_ALL=C + MACHTYPE=x86_64-pc-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=1351936 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.AWkaIqwG/pbuilderrc_93qA --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.AWkaIqwG/b1 --logfile b1/build.log magnum_19.0.0-4.dsc' - SUDO_GID='111' - SUDO_UID='106' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://213.165.73.152:3128' + PWD=/ + SHELL=/bin/bash + SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix + SHLVL=3 + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.AWkaIqwG/pbuilderrc_gGaO --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.AWkaIqwG/b2 --logfile b2/build.log magnum_19.0.0-4.dsc' + SUDO_GID=111 + SUDO_UID=106 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://46.16.76.132:3128 I: uname -a - Linux ionos15-amd64 6.11.10+bpo-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.11.10-1~bpo12+1 (2024-12-19) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-29-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.123-1 (2025-01-02) x86_64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Nov 22 2024 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/2216003/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Nov 22 14:40 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/1351936/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -633,7 +665,7 @@ Get: 391 http://deb.debian.org/debian unstable/main amd64 python3-webtest all 3.0.2-1 [35.2 kB] Get: 392 http://deb.debian.org/debian unstable/main amd64 python3-werkzeug all 3.1.3-2 [207 kB] Get: 393 http://deb.debian.org/debian unstable/main amd64 python3-wsme all 0.12.1-5 [44.0 kB] -Fetched 125 MB in 8s (14.8 MB/s) +Fetched 125 MB in 3s (45.2 MB/s) Preconfiguring packages ... Selecting previously unselected package libpython3.13-minimal:amd64. (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 ... 19850 files and directories currently installed.) @@ -1878,8 +1910,8 @@ Setting up tzdata (2024b-6) ... Current default time zone: 'Etc/UTC' -Local time is now: Mon Feb 16 23:34:20 UTC 2026. -Universal Time is now: Mon Feb 16 23:34:20 UTC 2026. +Local time is now: Tue Jan 14 17:17:07 UTC 2025. +Universal Time is now: Tue Jan 14 17:17:07 UTC 2025. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up liberror-perl (0.17029-2) ... @@ -2254,7 +2286,11 @@ fakeroot is already the newest version (1.36.2-1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package -I: Running cd /build/reproducible-path/magnum-19.0.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../magnum_19.0.0-4_source.changes +I: user script /srv/workspace/pbuilder/1351936/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for unstable +I: user script /srv/workspace/pbuilder/1351936/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/magnum-19.0.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../magnum_19.0.0-4_source.changes dpkg-buildpackage: info: source package magnum dpkg-buildpackage: info: source version 19.0.0-4 dpkg-buildpackage: info: source distribution unstable @@ -2513,370 +2549,374 @@ [pbr] AUTHORS complete (0.0s) running build running build_py -creating build/lib/magnum/conf -copying magnum/conf/opts.py -> build/lib/magnum/conf -copying magnum/conf/api.py -> build/lib/magnum/conf -copying magnum/conf/utils.py -> build/lib/magnum/conf -copying magnum/conf/quota.py -> build/lib/magnum/conf -copying magnum/conf/barbican.py -> build/lib/magnum/conf -copying magnum/conf/certificates.py -> build/lib/magnum/conf -copying magnum/conf/cluster_heat.py -> build/lib/magnum/conf -copying magnum/conf/rpc.py -> build/lib/magnum/conf -copying magnum/conf/nova.py -> build/lib/magnum/conf -copying magnum/conf/cluster.py -> build/lib/magnum/conf -copying magnum/conf/glance.py -> build/lib/magnum/conf -copying magnum/conf/__init__.py -> build/lib/magnum/conf -copying magnum/conf/database.py -> build/lib/magnum/conf -copying magnum/conf/x509.py -> build/lib/magnum/conf -copying magnum/conf/cinder.py -> build/lib/magnum/conf -copying magnum/conf/kubernetes.py -> build/lib/magnum/conf -copying magnum/conf/neutron.py -> build/lib/magnum/conf -copying magnum/conf/heat.py -> build/lib/magnum/conf -copying magnum/conf/octavia.py -> build/lib/magnum/conf -copying magnum/conf/profiler.py -> build/lib/magnum/conf -copying magnum/conf/conductor.py -> build/lib/magnum/conf -copying magnum/conf/drivers.py -> build/lib/magnum/conf -copying magnum/conf/docker.py -> build/lib/magnum/conf -copying magnum/conf/trust.py -> build/lib/magnum/conf -copying magnum/conf/cluster_templates.py -> build/lib/magnum/conf -copying magnum/conf/paths.py -> build/lib/magnum/conf -copying magnum/conf/services.py -> build/lib/magnum/conf -copying magnum/conf/keystone.py -> build/lib/magnum/conf -copying magnum/conf/magnum_client.py -> build/lib/magnum/conf -copying magnum/conf/docker_registry.py -> build/lib/magnum/conf -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/k8s +copying magnum/tests/functional/k8s/__init__.py -> 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 +creating build/lib/magnum/tests/unit +copying magnum/tests/unit/__init__.py -> build/lib/magnum/tests/unit +copying magnum/tests/unit/test_hacking.py -> build/lib/magnum/tests/unit +creating build/lib/magnum/common/x509 +copying magnum/common/x509/__init__.py -> build/lib/magnum/common/x509 +copying magnum/common/x509/extensions.py -> build/lib/magnum/common/x509 +copying magnum/common/x509/operations.py -> build/lib/magnum/common/x509 +copying magnum/common/x509/validator.py -> build/lib/magnum/common/x509 +creating build/lib/magnum/tests/unit/template +copying magnum/tests/unit/template/__init__.py -> build/lib/magnum/tests/unit/template +copying magnum/tests/unit/template/test_template.py -> build/lib/magnum/tests/unit/template +creating build/lib/magnum/drivers/common +copying magnum/drivers/common/__init__.py -> build/lib/magnum/drivers/common +copying magnum/drivers/common/k8s_monitor.py -> build/lib/magnum/drivers/common +copying magnum/drivers/common/k8s_scale_manager.py -> build/lib/magnum/drivers/common +copying magnum/drivers/common/driver.py -> build/lib/magnum/drivers/common creating 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_status.py -> build/lib/magnum/tests/unit/cmd copying magnum/tests/unit/cmd/__init__.py -> build/lib/magnum/tests/unit/cmd -copying magnum/tests/unit/cmd/test_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_db_manage.py -> build/lib/magnum/tests/unit/cmd +copying magnum/tests/unit/cmd/test_status.py -> build/lib/magnum/tests/unit/cmd +copying magnum/tests/unit/cmd/test_driver_manage.py -> build/lib/magnum/tests/unit/cmd copying magnum/tests/unit/cmd/test_api.py -> build/lib/magnum/tests/unit/cmd -creating build/lib/magnum/cmd -copying magnum/cmd/status.py -> build/lib/magnum/cmd -copying magnum/cmd/api.py -> build/lib/magnum/cmd -copying magnum/cmd/driver_manage.py -> build/lib/magnum/cmd -copying magnum/cmd/__init__.py -> build/lib/magnum/cmd -copying magnum/cmd/conductor.py -> build/lib/magnum/cmd -copying magnum/cmd/db_manage.py -> build/lib/magnum/cmd -creating build/lib/magnum/tests/unit/drivers -copying magnum/tests/unit/drivers/test_heat_driver.py -> build/lib/magnum/tests/unit/drivers -copying magnum/tests/unit/drivers/__init__.py -> build/lib/magnum/tests/unit/drivers -copying magnum/tests/unit/drivers/test_template_definition.py -> build/lib/magnum/tests/unit/drivers -creating build/lib/magnum/tests/unit/conductor -copying magnum/tests/unit/conductor/test_k8s_api.py -> build/lib/magnum/tests/unit/conductor -copying magnum/tests/unit/conductor/test_rpcapi.py -> build/lib/magnum/tests/unit/conductor -copying magnum/tests/unit/conductor/test_scale_manager.py -> build/lib/magnum/tests/unit/conductor -copying magnum/tests/unit/conductor/test_monitors.py -> build/lib/magnum/tests/unit/conductor -copying magnum/tests/unit/conductor/__init__.py -> build/lib/magnum/tests/unit/conductor -copying magnum/tests/unit/conductor/test_utils.py -> build/lib/magnum/tests/unit/conductor -creating 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 -copying magnum/tests/unit/conductor/handlers/common/test_trust_manager.py -> build/lib/magnum/tests/unit/conductor/handlers/common +creating build/lib/magnum/tests/unit/common +copying magnum/tests/unit/common/__init__.py -> build/lib/magnum/tests/unit/common +copying magnum/tests/unit/common/test_service.py -> build/lib/magnum/tests/unit/common +copying magnum/tests/unit/common/test_exception.py -> build/lib/magnum/tests/unit/common +copying magnum/tests/unit/common/test_octavia.py -> build/lib/magnum/tests/unit/common +copying magnum/tests/unit/common/test_profiler.py -> build/lib/magnum/tests/unit/common +copying magnum/tests/unit/common/test_utils.py -> build/lib/magnum/tests/unit/common +copying magnum/tests/unit/common/test_short_id.py -> build/lib/magnum/tests/unit/common +copying magnum/tests/unit/common/test_keystone.py -> build/lib/magnum/tests/unit/common +copying magnum/tests/unit/common/test_urlfetch.py -> build/lib/magnum/tests/unit/common +copying magnum/tests/unit/common/test_neutron.py -> build/lib/magnum/tests/unit/common +copying magnum/tests/unit/common/test_policy.py -> build/lib/magnum/tests/unit/common +copying magnum/tests/unit/common/test_rpc.py -> build/lib/magnum/tests/unit/common +copying magnum/tests/unit/common/test_clients.py -> build/lib/magnum/tests/unit/common +copying magnum/tests/unit/common/test_context.py -> build/lib/magnum/tests/unit/common +creating build/lib/magnum/tests/functional/api/v1/clients +copying magnum/tests/functional/api/v1/clients/__init__.py -> build/lib/magnum/tests/functional/api/v1/clients +copying magnum/tests/functional/api/v1/clients/cluster_client.py -> build/lib/magnum/tests/functional/api/v1/clients +copying magnum/tests/functional/api/v1/clients/cluster_template_client.py -> build/lib/magnum/tests/functional/api/v1/clients +copying magnum/tests/functional/api/v1/clients/cert_client.py -> build/lib/magnum/tests/functional/api/v1/clients +copying magnum/tests/functional/api/v1/clients/magnum_service_client.py -> build/lib/magnum/tests/functional/api/v1/clients +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/cert_manager +copying magnum/common/cert_manager/__init__.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/x509keypair_cert_manager.py -> build/lib/magnum/common/cert_manager +copying magnum/common/cert_manager/cert_manager.py -> build/lib/magnum/common/cert_manager +copying magnum/common/cert_manager/local_cert_manager.py -> build/lib/magnum/common/cert_manager +creating build/lib/magnum/conductor/handlers +copying magnum/conductor/handlers/__init__.py -> build/lib/magnum/conductor/handlers +copying magnum/conductor/handlers/conductor_listener.py -> build/lib/magnum/conductor/handlers +copying magnum/conductor/handlers/federation_conductor.py -> build/lib/magnum/conductor/handlers +copying magnum/conductor/handlers/nodegroup_conductor.py -> build/lib/magnum/conductor/handlers +copying magnum/conductor/handlers/cluster_conductor.py -> build/lib/magnum/conductor/handlers +copying magnum/conductor/handlers/indirection_api.py -> build/lib/magnum/conductor/handlers +copying magnum/conductor/handlers/ca_conductor.py -> build/lib/magnum/conductor/handlers +creating build/lib/magnum/drivers/heat +copying magnum/drivers/heat/__init__.py -> build/lib/magnum/drivers/heat +copying magnum/drivers/heat/k8s_coreos_template_def.py -> build/lib/magnum/drivers/heat +copying magnum/drivers/heat/template_def.py -> build/lib/magnum/drivers/heat +copying magnum/drivers/heat/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/driver.py -> build/lib/magnum/drivers/heat +creating build/lib/magnum/tests/functional/k8s_ironic +copying magnum/tests/functional/k8s_ironic/__init__.py -> 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 +creating build/lib/magnum/hacking +copying magnum/hacking/__init__.py -> build/lib/magnum/hacking +copying magnum/hacking/checks.py -> build/lib/magnum/hacking creating build/lib/magnum/tests/functional/api/v1/models -copying magnum/tests/functional/api/v1/models/cluster_model.py -> build/lib/magnum/tests/functional/api/v1/models -copying magnum/tests/functional/api/v1/models/cluster_id_model.py -> build/lib/magnum/tests/functional/api/v1/models +copying magnum/tests/functional/api/v1/models/__init__.py -> build/lib/magnum/tests/functional/api/v1/models copying magnum/tests/functional/api/v1/models/cluster_template_model.py -> build/lib/magnum/tests/functional/api/v1/models +copying magnum/tests/functional/api/v1/models/cert_model.py -> build/lib/magnum/tests/functional/api/v1/models copying magnum/tests/functional/api/v1/models/cluster_templatepatch_model.py -> build/lib/magnum/tests/functional/api/v1/models -copying magnum/tests/functional/api/v1/models/__init__.py -> build/lib/magnum/tests/functional/api/v1/models +copying magnum/tests/functional/api/v1/models/cluster_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/cert_model.py -> build/lib/magnum/tests/functional/api/v1/models +copying magnum/tests/functional/api/v1/models/cluster_id_model.py -> build/lib/magnum/tests/functional/api/v1/models copying magnum/tests/functional/api/v1/models/magnum_service_model.py -> build/lib/magnum/tests/functional/api/v1/models +creating build/lib/magnum/tests/unit/service +copying magnum/tests/unit/service/__init__.py -> build/lib/magnum/tests/unit/service +copying magnum/tests/unit/service/test_periodic.py -> build/lib/magnum/tests/unit/service +creating build/lib/magnum/tests/unit/api +copying magnum/tests/unit/api/__init__.py -> build/lib/magnum/tests/unit/api +copying magnum/tests/unit/api/test_app.py -> build/lib/magnum/tests/unit/api +copying magnum/tests/unit/api/test_validation.py -> build/lib/magnum/tests/unit/api +copying magnum/tests/unit/api/test_hooks.py -> build/lib/magnum/tests/unit/api +copying magnum/tests/unit/api/test_servicegroup.py -> build/lib/magnum/tests/unit/api +copying magnum/tests/unit/api/base.py -> build/lib/magnum/tests/unit/api +copying magnum/tests/unit/api/test_expose.py -> build/lib/magnum/tests/unit/api +copying magnum/tests/unit/api/test_attr_validator.py -> build/lib/magnum/tests/unit/api +copying magnum/tests/unit/api/utils.py -> build/lib/magnum/tests/unit/api +creating build/lib/magnum/api/controllers +copying magnum/api/controllers/__init__.py -> build/lib/magnum/api/controllers +copying magnum/api/controllers/link.py -> build/lib/magnum/api/controllers +copying magnum/api/controllers/versions.py -> build/lib/magnum/api/controllers +copying magnum/api/controllers/root.py -> build/lib/magnum/api/controllers +copying magnum/api/controllers/base.py -> build/lib/magnum/api/controllers +creating build/lib/magnum/tests/unit/common/x509 +copying magnum/tests/unit/common/x509/__init__.py -> build/lib/magnum/tests/unit/common/x509 +copying magnum/tests/unit/common/x509/test_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/test_validator.py -> build/lib/magnum/tests/unit/common/x509 +creating build/lib/magnum/tests/functional/common +copying magnum/tests/functional/common/__init__.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/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/config.py -> build/lib/magnum/tests/functional/common +copying magnum/tests/functional/common/utils.py -> build/lib/magnum/tests/functional/common +copying magnum/tests/functional/common/datagen.py -> build/lib/magnum/tests/functional/common +copying magnum/tests/functional/common/manager.py -> build/lib/magnum/tests/functional/common +copying magnum/api/versioned_method.py -> build/lib/magnum/api +copying magnum/api/__init__.py -> build/lib/magnum/api +copying magnum/api/http_error.py -> build/lib/magnum/api +copying magnum/api/validation.py -> build/lib/magnum/api +copying magnum/api/config.py -> build/lib/magnum/api +copying magnum/api/hooks.py -> build/lib/magnum/api +copying magnum/api/utils.py -> build/lib/magnum/api +copying magnum/api/expose.py -> build/lib/magnum/api +copying magnum/api/app.py -> build/lib/magnum/api +copying magnum/api/attr_validator.py -> build/lib/magnum/api +copying magnum/api/servicegroup.py -> build/lib/magnum/api +creating build/lib/magnum/conductor/tasks +copying magnum/conductor/tasks/__init__.py -> build/lib/magnum/conductor/tasks +copying magnum/conductor/tasks/heat_tasks.py -> build/lib/magnum/conductor/tasks +creating build/lib/magnum/objects +copying magnum/objects/__init__.py -> build/lib/magnum/objects +copying magnum/objects/stats.py -> build/lib/magnum/objects +copying magnum/objects/federation.py -> build/lib/magnum/objects +copying magnum/objects/certificate.py -> build/lib/magnum/objects +copying magnum/objects/quota.py -> build/lib/magnum/objects +copying magnum/objects/fields.py -> build/lib/magnum/objects +copying magnum/objects/cluster.py -> build/lib/magnum/objects +copying magnum/objects/base.py -> build/lib/magnum/objects +copying magnum/objects/magnum_service.py -> build/lib/magnum/objects +copying magnum/objects/x509keypair.py -> build/lib/magnum/objects +copying magnum/objects/cluster_template.py -> build/lib/magnum/objects +copying magnum/objects/nodegroup.py -> build/lib/magnum/objects +copying magnum/tests/policy_fixture.py -> build/lib/magnum/tests +copying magnum/tests/__init__.py -> build/lib/magnum/tests +copying magnum/tests/conf_fixture.py -> build/lib/magnum/tests +copying magnum/tests/output_fixture.py -> build/lib/magnum/tests +copying magnum/tests/base.py -> build/lib/magnum/tests +copying magnum/tests/fakes.py -> build/lib/magnum/tests +copying magnum/tests/utils.py -> build/lib/magnum/tests +copying magnum/tests/fake_notifier.py -> build/lib/magnum/tests +copying magnum/tests/functional/__init__.py -> build/lib/magnum/tests/functional +copying magnum/tests/functional/python_client_base.py -> build/lib/magnum/tests/functional +copying magnum/tests/functional/api/__init__.py -> build/lib/magnum/tests/functional/api +copying magnum/tests/functional/api/base.py -> build/lib/magnum/tests/functional/api +copying magnum/conductor/api.py -> build/lib/magnum/conductor +copying magnum/conductor/__init__.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/utils.py -> build/lib/magnum/conductor +creating build/lib/magnum/db +copying magnum/db/api.py -> build/lib/magnum/db +copying magnum/db/__init__.py -> build/lib/magnum/db +copying magnum/db/migration.py -> build/lib/magnum/db +copying magnum/tests/functional/api/v1/__init__.py -> build/lib/magnum/tests/functional/api/v1 +creating build/lib/magnum/cmd +copying magnum/cmd/api.py -> build/lib/magnum/cmd +copying magnum/cmd/__init__.py -> build/lib/magnum/cmd +copying magnum/cmd/db_manage.py -> build/lib/magnum/cmd +copying magnum/cmd/driver_manage.py -> build/lib/magnum/cmd +copying magnum/cmd/status.py -> build/lib/magnum/cmd +copying magnum/cmd/conductor.py -> build/lib/magnum/cmd creating 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/__init__.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_certificate.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_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_types.py -> build/lib/magnum/tests/unit/api/controllers/v1 -copying magnum/tests/unit/api/controllers/v1/__init__.py -> build/lib/magnum/tests/unit/api/controllers/v1 +copying magnum/tests/unit/api/controllers/v1/test_cluster_template.py -> build/lib/magnum/tests/unit/api/controllers/v1 copying magnum/tests/unit/api/controllers/v1/test_utils.py -> build/lib/magnum/tests/unit/api/controllers/v1 -copying magnum/tests/unit/api/controllers/v1/test_cluster.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_stats.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_cluster_template.py -> build/lib/magnum/tests/unit/api/controllers/v1 -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/conductor/handlers/common -copying magnum/conductor/handlers/common/cert_manager.py -> build/lib/magnum/conductor/handlers/common -copying magnum/conductor/handlers/common/trust_manager.py -> build/lib/magnum/conductor/handlers/common -copying magnum/conductor/handlers/common/__init__.py -> build/lib/magnum/conductor/handlers/common -creating build/lib/magnum/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_operations.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/__init__.py -> build/lib/magnum/tests/unit/common/x509 -copying magnum/tests/unit/conductor/handlers/test_ca_conductor.py -> build/lib/magnum/tests/unit/conductor/handlers -copying magnum/tests/unit/conductor/handlers/test_nodegroup_conductor.py -> build/lib/magnum/tests/unit/conductor/handlers -copying magnum/tests/unit/conductor/handlers/test_indirection_api.py -> build/lib/magnum/tests/unit/conductor/handlers -copying magnum/tests/unit/conductor/handlers/test_k8s_cluster_conductor.py -> build/lib/magnum/tests/unit/conductor/handlers -copying magnum/tests/unit/conductor/handlers/test_conductor_listener.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/__init__.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 -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/__init__.py -> build/lib/magnum/drivers/common -copying magnum/drivers/common/driver.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/common -copying magnum/common/config.py -> build/lib/magnum/common -copying magnum/common/clients.py -> build/lib/magnum/common -copying magnum/common/short_id.py -> build/lib/magnum/common -copying magnum/common/policy.py -> build/lib/magnum/common -copying magnum/common/name_generator.py -> build/lib/magnum/common -copying magnum/common/utils.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/nova.py -> build/lib/magnum/common -copying magnum/common/context.py -> build/lib/magnum/common -copying magnum/common/urlfetch.py -> build/lib/magnum/common -copying magnum/common/__init__.py -> build/lib/magnum/common -copying magnum/common/cinder.py -> build/lib/magnum/common -copying magnum/common/neutron.py -> build/lib/magnum/common -copying magnum/common/octavia.py -> build/lib/magnum/common -copying magnum/common/profiler.py -> build/lib/magnum/common -copying magnum/common/exception.py -> build/lib/magnum/common -copying magnum/common/service.py -> build/lib/magnum/common -copying magnum/common/keystone.py -> build/lib/magnum/common +copying magnum/tests/unit/api/controllers/v1/test_certificate.py -> build/lib/magnum/tests/unit/api/controllers/v1 +copying magnum/tests/unit/api/controllers/v1/test_types.py -> build/lib/magnum/tests/unit/api/controllers/v1 +creating 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/__init__.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_quota.py -> build/lib/magnum/tests/unit/db +copying magnum/tests/unit/db/test_cluster_template.py -> build/lib/magnum/tests/unit/db +copying magnum/tests/unit/db/base.py -> build/lib/magnum/tests/unit/db +copying magnum/tests/unit/db/test_federation.py -> build/lib/magnum/tests/unit/db +copying magnum/tests/unit/db/utils.py -> build/lib/magnum/tests/unit/db +copying magnum/tests/unit/db/test_x509keypair.py -> build/lib/magnum/tests/unit/db 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/__init__.py -> build/lib/magnum/drivers/k8s_fedora_coreos_v1 -copying magnum/drivers/k8s_fedora_coreos_v1/driver.py -> build/lib/magnum/drivers/k8s_fedora_coreos_v1 copying magnum/drivers/k8s_fedora_coreos_v1/template_def.py -> build/lib/magnum/drivers/k8s_fedora_coreos_v1 -copying magnum/conductor/handlers/federation_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/conductor/handlers/indirection_api.py -> build/lib/magnum/conductor/handlers -copying magnum/conductor/handlers/cluster_conductor.py -> build/lib/magnum/conductor/handlers -copying magnum/conductor/handlers/conductor_listener.py -> build/lib/magnum/conductor/handlers -copying magnum/conductor/handlers/nodegroup_conductor.py -> build/lib/magnum/conductor/handlers -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 -copying magnum/tests/unit/api/controllers/test_root.py -> build/lib/magnum/tests/unit/api/controllers -creating build/lib/magnum/tests/functional/api/v1/clients -copying magnum/tests/functional/api/v1/clients/cluster_client.py -> build/lib/magnum/tests/functional/api/v1/clients -copying magnum/tests/functional/api/v1/clients/magnum_service_client.py -> build/lib/magnum/tests/functional/api/v1/clients -copying magnum/tests/functional/api/v1/clients/__init__.py -> build/lib/magnum/tests/functional/api/v1/clients -copying magnum/tests/functional/api/v1/clients/cert_client.py -> build/lib/magnum/tests/functional/api/v1/clients -copying magnum/tests/functional/api/v1/clients/cluster_template_client.py -> build/lib/magnum/tests/functional/api/v1/clients -creating build/lib/magnum/tests/unit/common/policies -copying magnum/tests/unit/common/policies/base.py -> build/lib/magnum/tests/unit/common/policies -copying magnum/tests/unit/common/policies/test_federation_policy.py -> build/lib/magnum/tests/unit/common/policies -copying magnum/tests/unit/common/policies/test_magnum_service_policy.py -> build/lib/magnum/tests/unit/common/policies -copying magnum/tests/unit/common/policies/test_stats_policy.py -> build/lib/magnum/tests/unit/common/policies -copying magnum/tests/unit/common/policies/test_cluster_template_policy.py -> build/lib/magnum/tests/unit/common/policies -copying magnum/tests/unit/common/policies/test_cluster_policy.py -> build/lib/magnum/tests/unit/common/policies -copying magnum/tests/unit/common/policies/__init__.py -> build/lib/magnum/tests/unit/common/policies -copying magnum/tests/unit/common/policies/test_certificate_policy.py -> build/lib/magnum/tests/unit/common/policies -copying magnum/tests/unit/common/policies/test_nodegroup_policy.py -> build/lib/magnum/tests/unit/common/policies -copying magnum/tests/unit/common/policies/test_quota_policy.py -> build/lib/magnum/tests/unit/common/policies +copying magnum/drivers/k8s_fedora_coreos_v1/version.py -> build/lib/magnum/drivers/k8s_fedora_coreos_v1 +copying magnum/drivers/k8s_fedora_coreos_v1/driver.py -> build/lib/magnum/drivers/k8s_fedora_coreos_v1 +creating build/lib/magnum/service +copying magnum/service/__init__.py -> build/lib/magnum/service +copying magnum/service/periodic.py -> build/lib/magnum/service +creating build/lib/magnum/tests/unit/conf +copying magnum/tests/unit/conf/__init__.py -> build/lib/magnum/tests/unit/conf +copying magnum/tests/unit/conf/test_conf.py -> build/lib/magnum/tests/unit/conf creating build/lib/magnum/db/sqlalchemy copying magnum/db/sqlalchemy/api.py -> build/lib/magnum/db/sqlalchemy -copying magnum/db/sqlalchemy/models.py -> build/lib/magnum/db/sqlalchemy copying magnum/db/sqlalchemy/__init__.py -> build/lib/magnum/db/sqlalchemy +copying magnum/db/sqlalchemy/models.py -> build/lib/magnum/db/sqlalchemy copying magnum/db/sqlalchemy/migration.py -> build/lib/magnum/db/sqlalchemy -copying magnum/tests/base.py -> build/lib/magnum/tests -copying magnum/tests/utils.py -> build/lib/magnum/tests -copying magnum/tests/fakes.py -> build/lib/magnum/tests -copying magnum/tests/fake_notifier.py -> build/lib/magnum/tests -copying magnum/tests/__init__.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/conf_fixture.py -> build/lib/magnum/tests -copying magnum/tests/unit/db/base.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/utils.py -> build/lib/magnum/tests/unit/db -copying magnum/tests/unit/db/test_quota.py -> build/lib/magnum/tests/unit/db -copying magnum/tests/unit/db/__init__.py -> build/lib/magnum/tests/unit/db -copying magnum/tests/unit/db/test_x509keypair.py -> build/lib/magnum/tests/unit/db -copying magnum/tests/unit/db/test_cluster.py -> build/lib/magnum/tests/unit/db -copying magnum/tests/unit/db/test_federation.py -> build/lib/magnum/tests/unit/db -copying magnum/tests/unit/db/test_cluster_template.py -> build/lib/magnum/tests/unit/db -creating 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/http_error.py -> build/lib/magnum/api -copying magnum/api/utils.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/api/expose.py -> build/lib/magnum/api -copying magnum/api/hooks.py -> 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/servicegroup.py -> build/lib/magnum/api -copying magnum/tests/unit/common/test_neutron.py -> build/lib/magnum/tests/unit/common -copying magnum/tests/unit/common/test_rpc.py -> build/lib/magnum/tests/unit/common -copying magnum/tests/unit/common/test_short_id.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/test_policy.py -> build/lib/magnum/tests/unit/common -copying magnum/tests/unit/common/test_octavia.py -> build/lib/magnum/tests/unit/common -copying magnum/tests/unit/common/test_profiler.py -> build/lib/magnum/tests/unit/common -copying magnum/tests/unit/common/test_exception.py -> build/lib/magnum/tests/unit/common -copying magnum/tests/unit/common/test_context.py -> build/lib/magnum/tests/unit/common -copying magnum/tests/unit/common/test_service.py -> build/lib/magnum/tests/unit/common -copying magnum/tests/unit/common/__init__.py -> build/lib/magnum/tests/unit/common -copying magnum/tests/unit/common/test_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_keystone.py -> build/lib/magnum/tests/unit/common creating 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/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/utils.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_cluster_template.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/__init__.py -> build/lib/magnum/tests/unit/objects -copying magnum/tests/unit/objects/test_x509keypair.py -> build/lib/magnum/tests/unit/objects -copying magnum/tests/unit/objects/test_cluster.py -> build/lib/magnum/tests/unit/objects copying magnum/tests/unit/objects/test_federation.py -> build/lib/magnum/tests/unit/objects -copying magnum/tests/unit/objects/test_cluster_template.py -> build/lib/magnum/tests/unit/objects -creating 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/test_magnum_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/objects/test_fields.py -> build/lib/magnum/tests/unit/objects +copying magnum/tests/unit/objects/utils.py -> build/lib/magnum/tests/unit/objects +copying magnum/tests/unit/objects/test_x509keypair.py -> build/lib/magnum/tests/unit/objects +creating build/lib/magnum/tests/unit/drivers +copying magnum/tests/unit/drivers/__init__.py -> build/lib/magnum/tests/unit/drivers +copying magnum/tests/unit/drivers/test_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/common/__init__.py -> build/lib/magnum/common +copying magnum/common/exception.py -> build/lib/magnum/common +copying magnum/common/rpc_service.py -> build/lib/magnum/common +copying magnum/common/rpc.py -> build/lib/magnum/common +copying magnum/common/short_id.py -> build/lib/magnum/common +copying magnum/common/urlfetch.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/octavia.py -> build/lib/magnum/common +copying magnum/common/cinder.py -> build/lib/magnum/common +copying magnum/common/neutron.py -> build/lib/magnum/common +copying magnum/common/policy.py -> build/lib/magnum/common +copying magnum/common/utils.py -> build/lib/magnum/common +copying magnum/common/context.py -> build/lib/magnum/common +copying magnum/common/nova.py -> build/lib/magnum/common +copying magnum/common/service.py -> build/lib/magnum/common +copying magnum/common/name_generator.py -> build/lib/magnum/common +copying magnum/common/profiler.py -> build/lib/magnum/common +copying magnum/common/keystone.py -> build/lib/magnum/common +creating build/lib/magnum/tests/unit/common/cert_manager +copying magnum/tests/unit/common/cert_manager/__init__.py -> build/lib/magnum/tests/unit/common/cert_manager +copying magnum/tests/unit/common/cert_manager/test_local.py -> build/lib/magnum/tests/unit/common/cert_manager +copying magnum/tests/unit/common/cert_manager/test_x509keypair_cert_manager.py -> build/lib/magnum/tests/unit/common/cert_manager +copying magnum/tests/unit/common/cert_manager/test_cert_manager.py -> build/lib/magnum/tests/unit/common/cert_manager +copying magnum/tests/unit/common/cert_manager/test_barbican.py -> build/lib/magnum/tests/unit/common/cert_manager +creating build/lib/magnum/common/policies +copying magnum/common/policies/__init__.py -> build/lib/magnum/common/policies +copying magnum/common/policies/stats.py -> build/lib/magnum/common/policies +copying magnum/common/policies/federation.py -> build/lib/magnum/common/policies +copying magnum/common/policies/certificate.py -> build/lib/magnum/common/policies +copying magnum/common/policies/quota.py -> build/lib/magnum/common/policies +copying magnum/common/policies/cluster.py -> build/lib/magnum/common/policies +copying magnum/common/policies/base.py -> build/lib/magnum/common/policies +copying magnum/common/policies/magnum_service.py -> build/lib/magnum/common/policies +copying magnum/common/policies/cluster_template.py -> build/lib/magnum/common/policies +copying magnum/common/policies/nodegroup.py -> build/lib/magnum/common/policies +creating build/lib/magnum/conductor/handlers/common +copying magnum/conductor/handlers/common/__init__.py -> build/lib/magnum/conductor/handlers/common +copying magnum/conductor/handlers/common/cert_manager.py -> build/lib/magnum/conductor/handlers/common +copying magnum/conductor/handlers/common/trust_manager.py -> build/lib/magnum/conductor/handlers/common +creating build/lib/magnum/tests/unit/db/sqlalchemy +copying magnum/tests/unit/db/sqlalchemy/__init__.py -> build/lib/magnum/tests/unit/db/sqlalchemy +copying magnum/tests/unit/db/sqlalchemy/test_types.py -> build/lib/magnum/tests/unit/db/sqlalchemy +creating build/lib/magnum/servicegroup +copying magnum/servicegroup/__init__.py -> build/lib/magnum/servicegroup +copying magnum/servicegroup/magnum_service_periodic.py -> build/lib/magnum/servicegroup +copying magnum/__init__.py -> build/lib/magnum +copying magnum/i18n.py -> build/lib/magnum +copying magnum/version.py -> build/lib/magnum +creating build/lib/magnum/conf +copying magnum/conf/api.py -> build/lib/magnum/conf +copying magnum/conf/__init__.py -> build/lib/magnum/conf +copying magnum/conf/heat.py -> build/lib/magnum/conf +copying magnum/conf/magnum_client.py -> build/lib/magnum/conf +copying magnum/conf/glance.py -> build/lib/magnum/conf +copying magnum/conf/docker_registry.py -> build/lib/magnum/conf +copying magnum/conf/rpc.py -> build/lib/magnum/conf +copying magnum/conf/quota.py -> build/lib/magnum/conf +copying magnum/conf/opts.py -> build/lib/magnum/conf +copying magnum/conf/x509.py -> build/lib/magnum/conf +copying magnum/conf/trust.py -> build/lib/magnum/conf +copying magnum/conf/cluster.py -> build/lib/magnum/conf +copying magnum/conf/cluster_templates.py -> build/lib/magnum/conf +copying magnum/conf/paths.py -> build/lib/magnum/conf +copying magnum/conf/certificates.py -> build/lib/magnum/conf +copying magnum/conf/drivers.py -> build/lib/magnum/conf +copying magnum/conf/octavia.py -> build/lib/magnum/conf +copying magnum/conf/cluster_heat.py -> build/lib/magnum/conf +copying magnum/conf/cinder.py -> build/lib/magnum/conf +copying magnum/conf/database.py -> build/lib/magnum/conf +copying magnum/conf/neutron.py -> build/lib/magnum/conf +copying magnum/conf/conductor.py -> build/lib/magnum/conf +copying magnum/conf/kubernetes.py -> build/lib/magnum/conf +copying magnum/conf/utils.py -> build/lib/magnum/conf +copying magnum/conf/nova.py -> build/lib/magnum/conf +copying magnum/conf/services.py -> build/lib/magnum/conf +copying magnum/conf/barbican.py -> build/lib/magnum/conf +copying magnum/conf/docker.py -> build/lib/magnum/conf +copying magnum/conf/profiler.py -> build/lib/magnum/conf +copying magnum/conf/keystone.py -> build/lib/magnum/conf +copying magnum/tests/unit/conductor/__init__.py -> build/lib/magnum/tests/unit/conductor +copying magnum/tests/unit/conductor/test_k8s_api.py -> build/lib/magnum/tests/unit/conductor +copying magnum/tests/unit/conductor/test_scale_manager.py -> build/lib/magnum/tests/unit/conductor +copying magnum/tests/unit/conductor/test_utils.py -> build/lib/magnum/tests/unit/conductor +copying magnum/tests/unit/conductor/test_rpcapi.py -> build/lib/magnum/tests/unit/conductor +copying magnum/tests/unit/conductor/test_monitors.py -> build/lib/magnum/tests/unit/conductor +creating build/lib/magnum/tests/unit/common/policies +copying magnum/tests/unit/common/policies/__init__.py -> build/lib/magnum/tests/unit/common/policies +copying magnum/tests/unit/common/policies/test_magnum_service_policy.py -> build/lib/magnum/tests/unit/common/policies +copying magnum/tests/unit/common/policies/test_cluster_policy.py -> build/lib/magnum/tests/unit/common/policies +copying magnum/tests/unit/common/policies/test_quota_policy.py -> build/lib/magnum/tests/unit/common/policies +copying magnum/tests/unit/common/policies/test_stats_policy.py -> build/lib/magnum/tests/unit/common/policies +copying magnum/tests/unit/common/policies/test_cluster_template_policy.py -> build/lib/magnum/tests/unit/common/policies +copying magnum/tests/unit/common/policies/test_nodegroup_policy.py -> build/lib/magnum/tests/unit/common/policies +copying magnum/tests/unit/common/policies/test_certificate_policy.py -> build/lib/magnum/tests/unit/common/policies +copying magnum/tests/unit/common/policies/base.py -> build/lib/magnum/tests/unit/common/policies +copying magnum/tests/unit/common/policies/test_federation_policy.py -> build/lib/magnum/tests/unit/common/policies +creating build/lib/magnum/tests/unit/conductor/handlers/common +copying magnum/tests/unit/conductor/handlers/common/__init__.py -> build/lib/magnum/tests/unit/conductor/handlers/common +copying magnum/tests/unit/conductor/handlers/common/test_cert_manager.py -> build/lib/magnum/tests/unit/conductor/handlers/common +copying magnum/tests/unit/conductor/handlers/common/test_trust_manager.py -> build/lib/magnum/tests/unit/conductor/handlers/common +copying magnum/tests/unit/api/controllers/__init__.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/test_root.py -> build/lib/magnum/tests/unit/api/controllers creating build/lib/magnum/api/controllers/v1 -copying magnum/api/controllers/v1/quota.py -> build/lib/magnum/api/controllers/v1 -copying magnum/api/controllers/v1/magnum_services.py -> build/lib/magnum/api/controllers/v1 -copying magnum/api/controllers/v1/nodegroup.py -> build/lib/magnum/api/controllers/v1 -copying magnum/api/controllers/v1/cluster_actions.py -> build/lib/magnum/api/controllers/v1 -copying magnum/api/controllers/v1/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 -copying magnum/api/controllers/v1/cluster_template.py -> build/lib/magnum/api/controllers/v1 copying magnum/api/controllers/v1/stats.py -> build/lib/magnum/api/controllers/v1 copying magnum/api/controllers/v1/federation.py -> build/lib/magnum/api/controllers/v1 -copying magnum/api/controllers/v1/types.py -> build/lib/magnum/api/controllers/v1 +copying magnum/api/controllers/v1/certificate.py -> build/lib/magnum/api/controllers/v1 +copying magnum/api/controllers/v1/quota.py -> build/lib/magnum/api/controllers/v1 copying magnum/api/controllers/v1/collection.py -> build/lib/magnum/api/controllers/v1 -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/objects -copying magnum/objects/base.py -> build/lib/magnum/objects -copying magnum/objects/fields.py -> build/lib/magnum/objects -copying magnum/objects/x509keypair.py -> build/lib/magnum/objects -copying magnum/objects/quota.py -> build/lib/magnum/objects -copying magnum/objects/magnum_service.py -> build/lib/magnum/objects -copying magnum/objects/nodegroup.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/__init__.py -> build/lib/magnum/objects -copying magnum/objects/cluster_template.py -> build/lib/magnum/objects -copying magnum/objects/stats.py -> build/lib/magnum/objects -copying magnum/objects/federation.py -> build/lib/magnum/objects +copying magnum/api/controllers/v1/cluster_actions.py -> build/lib/magnum/api/controllers/v1 +copying magnum/api/controllers/v1/cluster.py -> build/lib/magnum/api/controllers/v1 +copying magnum/api/controllers/v1/types.py -> build/lib/magnum/api/controllers/v1 +copying magnum/api/controllers/v1/magnum_services.py -> build/lib/magnum/api/controllers/v1 +copying magnum/api/controllers/v1/cluster_template.py -> build/lib/magnum/api/controllers/v1 +copying magnum/api/controllers/v1/nodegroup.py -> build/lib/magnum/api/controllers/v1 copying magnum/drivers/__init__.py -> build/lib/magnum/drivers -copying magnum/tests/unit/test_hacking.py -> build/lib/magnum/tests/unit -copying magnum/tests/unit/__init__.py -> build/lib/magnum/tests/unit -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/hacking -copying magnum/hacking/checks.py -> build/lib/magnum/hacking -copying magnum/hacking/__init__.py -> build/lib/magnum/hacking -copying magnum/tests/unit/api/base.py -> build/lib/magnum/tests/unit/api -copying magnum/tests/unit/api/test_servicegroup.py -> build/lib/magnum/tests/unit/api -copying magnum/tests/unit/api/test_expose.py -> build/lib/magnum/tests/unit/api -copying magnum/tests/unit/api/utils.py -> build/lib/magnum/tests/unit/api -copying magnum/tests/unit/api/test_hooks.py -> build/lib/magnum/tests/unit/api -copying magnum/tests/unit/api/test_attr_validator.py -> build/lib/magnum/tests/unit/api -copying magnum/tests/unit/api/test_validation.py -> build/lib/magnum/tests/unit/api -copying magnum/tests/unit/api/__init__.py -> build/lib/magnum/tests/unit/api -copying magnum/tests/unit/api/test_app.py -> build/lib/magnum/tests/unit/api -copying magnum/db/api.py -> build/lib/magnum/db -copying magnum/db/__init__.py -> build/lib/magnum/db -copying magnum/db/migration.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/tests/unit/conductor/tasks -copying magnum/tests/unit/conductor/tasks/__init__.py -> build/lib/magnum/tests/unit/conductor/tasks -copying magnum/tests/unit/conductor/tasks/test_heat_tasks.py -> build/lib/magnum/tests/unit/conductor/tasks -creating build/lib/magnum/common/policies -copying magnum/common/policies/base.py -> build/lib/magnum/common/policies -copying magnum/common/policies/quota.py -> build/lib/magnum/common/policies -copying magnum/common/policies/magnum_service.py -> build/lib/magnum/common/policies -copying magnum/common/policies/nodegroup.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/__init__.py -> build/lib/magnum/common/policies -copying magnum/common/policies/cluster_template.py -> build/lib/magnum/common/policies -copying magnum/common/policies/stats.py -> build/lib/magnum/common/policies -copying magnum/common/policies/federation.py -> build/lib/magnum/common/policies -creating build/lib/magnum/tests/unit/template -copying magnum/tests/unit/template/test_template.py -> build/lib/magnum/tests/unit/template -copying magnum/tests/unit/template/__init__.py -> build/lib/magnum/tests/unit/template -creating build/lib/magnum/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/test_local.py -> build/lib/magnum/tests/unit/common/cert_manager -copying magnum/tests/unit/common/cert_manager/__init__.py -> build/lib/magnum/tests/unit/common/cert_manager -copying magnum/tests/unit/common/cert_manager/test_x509keypair_cert_manager.py -> build/lib/magnum/tests/unit/common/cert_manager -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/k8s_fedora_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/__init__.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/template_def.py -> build/lib/magnum/drivers/heat -copying magnum/conductor/scale_manager.py -> build/lib/magnum/conductor -copying magnum/conductor/api.py -> build/lib/magnum/conductor -copying magnum/conductor/utils.py -> build/lib/magnum/conductor -copying magnum/conductor/monitors.py -> build/lib/magnum/conductor -copying magnum/conductor/__init__.py -> build/lib/magnum/conductor -copying magnum/conductor/k8s_api.py -> build/lib/magnum/conductor -copying magnum/tests/functional/__init__.py -> build/lib/magnum/tests/functional -copying magnum/tests/functional/python_client_base.py -> build/lib/magnum/tests/functional -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/common/x509 -copying magnum/common/x509/operations.py -> build/lib/magnum/common/x509 -copying magnum/common/x509/validator.py -> build/lib/magnum/common/x509 -copying magnum/common/x509/__init__.py -> build/lib/magnum/common/x509 -copying magnum/common/x509/extensions.py -> build/lib/magnum/common/x509 creating build/lib/magnum/api/middleware +copying magnum/api/middleware/__init__.py -> build/lib/magnum/api/middleware copying magnum/api/middleware/auth_token.py -> build/lib/magnum/api/middleware copying magnum/api/middleware/parsable_error.py -> build/lib/magnum/api/middleware -copying magnum/api/middleware/__init__.py -> build/lib/magnum/api/middleware -creating build/lib/magnum/tests/functional/common -copying magnum/tests/functional/common/base.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/datagen.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/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/__init__.py -> build/lib/magnum/tests/functional/common -copying magnum/tests/functional/common/manager.py -> build/lib/magnum/tests/functional/common -copying magnum/tests/functional/api/v1/__init__.py -> build/lib/magnum/tests/functional/api/v1 -creating 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/barbican_cert_manager.py -> build/lib/magnum/common/cert_manager -copying magnum/common/cert_manager/cert_manager.py -> build/lib/magnum/common/cert_manager -copying magnum/common/cert_manager/__init__.py -> build/lib/magnum/common/cert_manager -copying magnum/common/cert_manager/x509keypair_cert_manager.py -> build/lib/magnum/common/cert_manager -creating build/lib/magnum/tests/unit/conf -copying magnum/tests/unit/conf/__init__.py -> build/lib/magnum/tests/unit/conf -copying magnum/tests/unit/conf/test_conf.py -> build/lib/magnum/tests/unit/conf -creating build/lib/magnum/servicegroup -copying magnum/servicegroup/__init__.py -> build/lib/magnum/servicegroup -copying magnum/servicegroup/magnum_service_periodic.py -> build/lib/magnum/servicegroup -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/api/controllers/base.py -> build/lib/magnum/api/controllers -copying magnum/api/controllers/versions.py -> build/lib/magnum/api/controllers -copying magnum/api/controllers/link.py -> build/lib/magnum/api/controllers -copying magnum/api/controllers/__init__.py -> build/lib/magnum/api/controllers -copying magnum/api/controllers/root.py -> build/lib/magnum/api/controllers +creating build/lib/magnum/tests/unit/servicegroup +copying magnum/tests/unit/servicegroup/__init__.py -> 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/conductor/handlers/__init__.py -> build/lib/magnum/tests/unit/conductor/handlers +copying magnum/tests/unit/conductor/handlers/test_k8s_cluster_conductor.py -> build/lib/magnum/tests/unit/conductor/handlers +copying magnum/tests/unit/conductor/handlers/test_nodegroup_conductor.py -> build/lib/magnum/tests/unit/conductor/handlers +copying magnum/tests/unit/conductor/handlers/test_ca_conductor.py -> build/lib/magnum/tests/unit/conductor/handlers +copying magnum/tests/unit/conductor/handlers/test_indirection_api.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_federation_conductor.py -> build/lib/magnum/tests/unit/conductor/handlers +copying magnum/tests/unit/conductor/handlers/test_cluster_conductor.py -> build/lib/magnum/tests/unit/conductor/handlers +creating build/lib/magnum/tests/functional/k8s_fcos +copying magnum/tests/functional/k8s_fcos/__init__.py -> 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 running egg_info creating magnum.egg-info writing magnum.egg-info/PKG-INFO @@ -3376,6 +3416,14 @@ 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/api/app.wsgi -> build/lib/magnum/api +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/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 @@ -3383,10 +3431,6 @@ copying magnum/drivers/k8s_fedora_coreos_v1/templates/kubemaster.yaml -> build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates copying magnum/drivers/k8s_fedora_coreos_v1/templates/kubeminion.yaml -> build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates copying magnum/drivers/k8s_fedora_coreos_v1/templates/user_data.json -> build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates -copying magnum/tests/unit/api/controllers/auth-paste.ini -> build/lib/magnum/tests/unit/api/controllers -copying magnum/tests/unit/api/controllers/auth-root-access.ini -> build/lib/magnum/tests/unit/api/controllers -copying magnum/tests/unit/api/controllers/auth-v1-access.ini -> build/lib/magnum/tests/unit/api/controllers -copying magnum/tests/unit/api/controllers/noauth-paste.ini -> build/lib/magnum/tests/unit/api/controllers copying magnum/db/sqlalchemy/alembic.ini -> build/lib/magnum/db/sqlalchemy creating build/lib/magnum/db/sqlalchemy/alembic copying magnum/db/sqlalchemy/alembic/README -> build/lib/magnum/db/sqlalchemy/alembic @@ -3468,970 +3512,966 @@ copying magnum/db/sqlalchemy/alembic/versions/f1d8b0ab8b8d_added_observations_to_cluster_template.py -> build/lib/magnum/db/sqlalchemy/alembic/versions copying magnum/db/sqlalchemy/alembic/versions/fb03fdef8919_rename_baymodel_to_clustertemplate.py -> build/lib/magnum/db/sqlalchemy/alembic/versions copying magnum/db/sqlalchemy/alembic/versions/fcb4efee8f8b_add_version_info_to_bay.py -> build/lib/magnum/db/sqlalchemy/alembic/versions -creating build/lib/magnum/tests/contrib -copying magnum/tests/contrib/copy_instance_logs.sh -> build/lib/magnum/tests/contrib -copying magnum/tests/contrib/gate_hook.sh -> build/lib/magnum/tests/contrib -copying magnum/tests/contrib/post_test_hook.sh -> build/lib/magnum/tests/contrib -creating build/lib/magnum/tests/releasenotes/notes -copying magnum/tests/releasenotes/notes/separated-ca-certs-299c95eea1ffd9b1.yaml -> build/lib/magnum/tests/releasenotes/notes -copying magnum/api/app.wsgi -> build/lib/magnum/api -copying magnum/api/rest_api_version_history.rst -> build/lib/magnum/api +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 running install_lib creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum -copying build/lib/magnum/version.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum +copying build/lib/magnum/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/opts.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf copying build/lib/magnum/conf/api.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/utils.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/heat.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/magnum_client.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/glance.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/docker_registry.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/rpc.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf copying build/lib/magnum/conf/quota.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/barbican.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/opts.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/x509.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/trust.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/cluster_templates.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/paths.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf copying build/lib/magnum/conf/certificates.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/drivers.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/octavia.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf copying build/lib/magnum/conf/cluster_heat.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/rpc.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/nova.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/glance.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/database.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/x509.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf copying build/lib/magnum/conf/cinder.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/kubernetes.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/database.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf copying build/lib/magnum/conf/neutron.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/heat.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/octavia.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/profiler.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf copying build/lib/magnum/conf/conductor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/drivers.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/docker.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/trust.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/cluster_templates.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/paths.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/kubernetes.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/utils.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/nova.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf copying build/lib/magnum/conf/services.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/barbican.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/docker.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/profiler.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf copying build/lib/magnum/conf/keystone.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/magnum_client.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/docker_registry.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd +copying build/lib/magnum/cmd/api.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd +copying build/lib/magnum/cmd/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd +copying build/lib/magnum/cmd/db_manage.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd +copying build/lib/magnum/cmd/driver_manage.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd +copying build/lib/magnum/cmd/status.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd +copying build/lib/magnum/cmd/conductor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests -copying build/lib/magnum/tests/base.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests -copying build/lib/magnum/tests/utils.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests +copying build/lib/magnum/tests/policy_fixture.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests +copying build/lib/magnum/tests/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit +copying build/lib/magnum/tests/unit/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit copying build/lib/magnum/tests/unit/test_hacking.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conf copying build/lib/magnum/tests/unit/conf/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conf copying build/lib/magnum/tests/unit/conf/test_conf.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conf -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/template -copying build/lib/magnum/tests/unit/template/test_template.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/template -copying build/lib/magnum/tests/unit/template/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/template +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd +copying build/lib/magnum/tests/unit/cmd/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd +copying build/lib/magnum/tests/unit/cmd/test_conductor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd +copying build/lib/magnum/tests/unit/cmd/test_db_manage.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd +copying build/lib/magnum/tests/unit/cmd/test_status.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd +copying build/lib/magnum/tests/unit/cmd/test_driver_manage.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd +copying build/lib/magnum/tests/unit/cmd/test_api.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/service +copying build/lib/magnum/tests/unit/service/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/service +copying build/lib/magnum/tests/unit/service/test_periodic.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/service +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects +copying build/lib/magnum/tests/unit/objects/test_cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects +copying build/lib/magnum/tests/unit/objects/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects +copying build/lib/magnum/tests/unit/objects/test_nodegroup.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects +copying build/lib/magnum/tests/unit/objects/test_magnum_service.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects +copying build/lib/magnum/tests/unit/objects/test_cluster_template.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects +copying build/lib/magnum/tests/unit/objects/test_objects.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects +copying build/lib/magnum/tests/unit/objects/test_federation.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects +copying build/lib/magnum/tests/unit/objects/test_fields.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects +copying build/lib/magnum/tests/unit/objects/utils.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects +copying build/lib/magnum/tests/unit/objects/test_x509keypair.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common -copying build/lib/magnum/tests/unit/common/test_neutron.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common -copying build/lib/magnum/tests/unit/common/test_rpc.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common -copying build/lib/magnum/tests/unit/common/test_short_id.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common -copying build/lib/magnum/tests/unit/common/test_clients.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common -copying build/lib/magnum/tests/unit/common/test_policy.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager -copying build/lib/magnum/tests/unit/common/cert_manager/test_cert_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager -copying build/lib/magnum/tests/unit/common/cert_manager/test_barbican.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager -copying build/lib/magnum/tests/unit/common/cert_manager/test_local.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager -copying build/lib/magnum/tests/unit/common/cert_manager/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager -copying build/lib/magnum/tests/unit/common/cert_manager/test_x509keypair_cert_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager +copying build/lib/magnum/tests/unit/common/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common +copying build/lib/magnum/tests/unit/common/test_service.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common +copying build/lib/magnum/tests/unit/common/test_exception.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509 +copying build/lib/magnum/tests/unit/common/x509/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509 +copying build/lib/magnum/tests/unit/common/x509/test_sign.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509 +copying build/lib/magnum/tests/unit/common/x509/test_operations.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509 +copying build/lib/magnum/tests/unit/common/x509/test_validator.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509 copying build/lib/magnum/tests/unit/common/test_octavia.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common copying build/lib/magnum/tests/unit/common/test_profiler.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common -copying build/lib/magnum/tests/unit/common/test_exception.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common +copying build/lib/magnum/tests/unit/common/test_utils.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies -copying build/lib/magnum/tests/unit/common/policies/base.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies -copying build/lib/magnum/tests/unit/common/policies/test_federation_policy.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies +copying build/lib/magnum/tests/unit/common/policies/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies copying build/lib/magnum/tests/unit/common/policies/test_magnum_service_policy.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies +copying build/lib/magnum/tests/unit/common/policies/test_cluster_policy.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies +copying build/lib/magnum/tests/unit/common/policies/test_quota_policy.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies copying build/lib/magnum/tests/unit/common/policies/test_stats_policy.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies copying build/lib/magnum/tests/unit/common/policies/test_cluster_template_policy.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies -copying build/lib/magnum/tests/unit/common/policies/test_cluster_policy.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies -copying build/lib/magnum/tests/unit/common/policies/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies -copying build/lib/magnum/tests/unit/common/policies/test_certificate_policy.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies copying build/lib/magnum/tests/unit/common/policies/test_nodegroup_policy.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies -copying build/lib/magnum/tests/unit/common/policies/test_quota_policy.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies -copying build/lib/magnum/tests/unit/common/test_context.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common -copying build/lib/magnum/tests/unit/common/test_service.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common -copying build/lib/magnum/tests/unit/common/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common -copying build/lib/magnum/tests/unit/common/test_utils.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509 -copying build/lib/magnum/tests/unit/common/x509/test_validator.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509 -copying build/lib/magnum/tests/unit/common/x509/test_operations.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509 -copying build/lib/magnum/tests/unit/common/x509/test_sign.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509 -copying build/lib/magnum/tests/unit/common/x509/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509 -copying build/lib/magnum/tests/unit/common/test_urlfetch.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common +copying build/lib/magnum/tests/unit/common/policies/test_certificate_policy.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies +copying build/lib/magnum/tests/unit/common/policies/base.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies +copying build/lib/magnum/tests/unit/common/policies/test_federation_policy.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies +copying build/lib/magnum/tests/unit/common/test_short_id.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common copying build/lib/magnum/tests/unit/common/test_keystone.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common +copying build/lib/magnum/tests/unit/common/test_urlfetch.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common +copying build/lib/magnum/tests/unit/common/test_neutron.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager +copying build/lib/magnum/tests/unit/common/cert_manager/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager +copying build/lib/magnum/tests/unit/common/cert_manager/test_local.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager +copying build/lib/magnum/tests/unit/common/cert_manager/test_x509keypair_cert_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager +copying build/lib/magnum/tests/unit/common/cert_manager/test_cert_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager +copying build/lib/magnum/tests/unit/common/cert_manager/test_barbican.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager +copying build/lib/magnum/tests/unit/common/test_policy.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common +copying build/lib/magnum/tests/unit/common/test_rpc.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common +copying build/lib/magnum/tests/unit/common/test_clients.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common +copying build/lib/magnum/tests/unit/common/test_context.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db -copying build/lib/magnum/tests/unit/db/base.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db +copying build/lib/magnum/tests/unit/db/test_cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db +copying build/lib/magnum/tests/unit/db/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db copying build/lib/magnum/tests/unit/db/test_nodegroup.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db copying build/lib/magnum/tests/unit/db/test_magnum_service.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/sqlalchemy -copying build/lib/magnum/tests/unit/db/sqlalchemy/test_types.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/sqlalchemy copying build/lib/magnum/tests/unit/db/sqlalchemy/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/sqlalchemy -copying build/lib/magnum/tests/unit/db/utils.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db +copying build/lib/magnum/tests/unit/db/sqlalchemy/test_types.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/sqlalchemy copying build/lib/magnum/tests/unit/db/test_quota.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db -copying build/lib/magnum/tests/unit/db/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db -copying build/lib/magnum/tests/unit/db/test_x509keypair.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db -copying build/lib/magnum/tests/unit/db/test_cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db -copying build/lib/magnum/tests/unit/db/test_federation.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db copying build/lib/magnum/tests/unit/db/test_cluster_template.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db +copying build/lib/magnum/tests/unit/db/base.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db +copying build/lib/magnum/tests/unit/db/test_federation.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db +copying build/lib/magnum/tests/unit/db/utils.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db +copying build/lib/magnum/tests/unit/db/test_x509keypair.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers +copying build/lib/magnum/tests/unit/drivers/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers +copying build/lib/magnum/tests/unit/drivers/test_template_definition.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers +copying build/lib/magnum/tests/unit/drivers/test_heat_driver.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/servicegroup -copying build/lib/magnum/tests/unit/servicegroup/test_magnum_service.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/servicegroup copying build/lib/magnum/tests/unit/servicegroup/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/servicegroup -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/service -copying build/lib/magnum/tests/unit/service/test_periodic.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/service -copying build/lib/magnum/tests/unit/service/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/service -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api -copying build/lib/magnum/tests/unit/api/base.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api -copying build/lib/magnum/tests/unit/api/test_servicegroup.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api -copying build/lib/magnum/tests/unit/api/test_expose.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api -copying build/lib/magnum/tests/unit/api/utils.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api -copying build/lib/magnum/tests/unit/api/test_hooks.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api -copying build/lib/magnum/tests/unit/api/test_attr_validator.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api -copying build/lib/magnum/tests/unit/api/test_validation.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api -copying build/lib/magnum/tests/unit/api/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api -copying build/lib/magnum/tests/unit/api/test_app.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers -copying build/lib/magnum/tests/unit/api/controllers/auth-root-access.ini -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers -copying build/lib/magnum/tests/unit/api/controllers/auth-paste.ini -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers -copying build/lib/magnum/tests/unit/api/controllers/test_base.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 -copying build/lib/magnum/tests/unit/api/controllers/v1/test_nodegroup.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 -copying build/lib/magnum/tests/unit/api/controllers/v1/test_magnum_service.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 -copying build/lib/magnum/tests/unit/api/controllers/v1/test_certificate.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 -copying build/lib/magnum/tests/unit/api/controllers/v1/test_cluster_actions.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 -copying build/lib/magnum/tests/unit/api/controllers/v1/test_stats.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 -copying build/lib/magnum/tests/unit/api/controllers/v1/test_quota.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 -copying build/lib/magnum/tests/unit/api/controllers/v1/test_types.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 -copying build/lib/magnum/tests/unit/api/controllers/v1/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 -copying build/lib/magnum/tests/unit/api/controllers/v1/test_utils.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 -copying build/lib/magnum/tests/unit/api/controllers/v1/test_cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 -copying build/lib/magnum/tests/unit/api/controllers/v1/test_federation.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 -copying build/lib/magnum/tests/unit/api/controllers/v1/test_cluster_template.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 -copying build/lib/magnum/tests/unit/api/controllers/auth-v1-access.ini -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers -copying build/lib/magnum/tests/unit/api/controllers/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers -copying build/lib/magnum/tests/unit/api/controllers/test_root.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers -copying build/lib/magnum/tests/unit/api/controllers/noauth-paste.ini -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd -copying build/lib/magnum/tests/unit/cmd/test_driver_manage.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd -copying build/lib/magnum/tests/unit/cmd/test_status.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd -copying build/lib/magnum/tests/unit/cmd/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd -copying build/lib/magnum/tests/unit/cmd/test_db_manage.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd -copying build/lib/magnum/tests/unit/cmd/test_conductor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd -copying build/lib/magnum/tests/unit/cmd/test_api.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects -copying build/lib/magnum/tests/unit/objects/test_nodegroup.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects -copying build/lib/magnum/tests/unit/objects/test_magnum_service.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects -copying build/lib/magnum/tests/unit/objects/utils.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects -copying build/lib/magnum/tests/unit/objects/test_fields.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects -copying build/lib/magnum/tests/unit/objects/test_objects.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects -copying build/lib/magnum/tests/unit/objects/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects -copying build/lib/magnum/tests/unit/objects/test_x509keypair.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects -copying build/lib/magnum/tests/unit/objects/test_cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects -copying build/lib/magnum/tests/unit/objects/test_federation.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects -copying build/lib/magnum/tests/unit/objects/test_cluster_template.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects -copying build/lib/magnum/tests/unit/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit +copying build/lib/magnum/tests/unit/servicegroup/test_magnum_service.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/servicegroup creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor +copying build/lib/magnum/tests/unit/conductor/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor +copying build/lib/magnum/tests/unit/conductor/test_k8s_api.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor +copying build/lib/magnum/tests/unit/conductor/test_scale_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers -copying build/lib/magnum/tests/unit/conductor/handlers/test_ca_conductor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers +copying build/lib/magnum/tests/unit/conductor/handlers/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers +copying build/lib/magnum/tests/unit/conductor/handlers/test_k8s_cluster_conductor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers copying build/lib/magnum/tests/unit/conductor/handlers/test_nodegroup_conductor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers +copying build/lib/magnum/tests/unit/conductor/handlers/test_ca_conductor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers copying build/lib/magnum/tests/unit/conductor/handlers/test_indirection_api.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers -copying build/lib/magnum/tests/unit/conductor/handlers/test_k8s_cluster_conductor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers copying build/lib/magnum/tests/unit/conductor/handlers/test_conductor_listener.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common -copying build/lib/magnum/tests/unit/conductor/handlers/common/test_cert_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common copying build/lib/magnum/tests/unit/conductor/handlers/common/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common +copying build/lib/magnum/tests/unit/conductor/handlers/common/test_cert_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common copying build/lib/magnum/tests/unit/conductor/handlers/common/test_trust_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common copying build/lib/magnum/tests/unit/conductor/handlers/test_federation_conductor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers -copying build/lib/magnum/tests/unit/conductor/handlers/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers copying build/lib/magnum/tests/unit/conductor/handlers/test_cluster_conductor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers -copying build/lib/magnum/tests/unit/conductor/test_k8s_api.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor +copying build/lib/magnum/tests/unit/conductor/test_utils.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor copying build/lib/magnum/tests/unit/conductor/test_rpcapi.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/tasks -copying build/lib/magnum/tests/unit/conductor/tasks/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/tasks copying build/lib/magnum/tests/unit/conductor/tasks/test_heat_tasks.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/tasks -copying build/lib/magnum/tests/unit/conductor/test_scale_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor +copying build/lib/magnum/tests/unit/conductor/tasks/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/tasks copying build/lib/magnum/tests/unit/conductor/test_monitors.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor -copying build/lib/magnum/tests/unit/conductor/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor -copying build/lib/magnum/tests/unit/conductor/test_utils.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers -copying build/lib/magnum/tests/unit/drivers/test_heat_driver.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers -copying build/lib/magnum/tests/unit/drivers/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers -copying build/lib/magnum/tests/unit/drivers/test_template_definition.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers -copying build/lib/magnum/tests/fakes.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/releasenotes -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/releasenotes/notes -copying build/lib/magnum/tests/releasenotes/notes/separated-ca-certs-299c95eea1ffd9b1.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/releasenotes/notes +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api +copying build/lib/magnum/tests/unit/api/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api +copying build/lib/magnum/tests/unit/api/test_app.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api +copying build/lib/magnum/tests/unit/api/test_validation.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api +copying build/lib/magnum/tests/unit/api/test_hooks.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api +copying build/lib/magnum/tests/unit/api/test_servicegroup.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api +copying build/lib/magnum/tests/unit/api/base.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api +copying build/lib/magnum/tests/unit/api/test_expose.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api +copying build/lib/magnum/tests/unit/api/test_attr_validator.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api +copying build/lib/magnum/tests/unit/api/utils.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers +copying build/lib/magnum/tests/unit/api/controllers/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 +copying build/lib/magnum/tests/unit/api/controllers/v1/test_cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 +copying build/lib/magnum/tests/unit/api/controllers/v1/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 +copying build/lib/magnum/tests/unit/api/controllers/v1/test_nodegroup.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 +copying build/lib/magnum/tests/unit/api/controllers/v1/test_magnum_service.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 +copying build/lib/magnum/tests/unit/api/controllers/v1/test_quota.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 +copying build/lib/magnum/tests/unit/api/controllers/v1/test_cluster_template.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 +copying build/lib/magnum/tests/unit/api/controllers/v1/test_utils.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 +copying build/lib/magnum/tests/unit/api/controllers/v1/test_cluster_actions.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 +copying build/lib/magnum/tests/unit/api/controllers/v1/test_stats.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 +copying build/lib/magnum/tests/unit/api/controllers/v1/test_federation.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 +copying build/lib/magnum/tests/unit/api/controllers/v1/test_certificate.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 +copying build/lib/magnum/tests/unit/api/controllers/v1/test_types.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 +copying build/lib/magnum/tests/unit/api/controllers/noauth-paste.ini -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers +copying build/lib/magnum/tests/unit/api/controllers/test_base.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers +copying build/lib/magnum/tests/unit/api/controllers/auth-root-access.ini -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers +copying build/lib/magnum/tests/unit/api/controllers/auth-v1-access.ini -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers +copying build/lib/magnum/tests/unit/api/controllers/test_root.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers +copying build/lib/magnum/tests/unit/api/controllers/auth-paste.ini -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/template +copying build/lib/magnum/tests/unit/template/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/template +copying build/lib/magnum/tests/unit/template/test_template.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/template +copying build/lib/magnum/tests/conf_fixture.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests +copying build/lib/magnum/tests/output_fixture.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional +copying build/lib/magnum/tests/functional/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_fcos -copying build/lib/magnum/tests/functional/k8s_fcos/test_k8s_python_client.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_fcos copying build/lib/magnum/tests/functional/k8s_fcos/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_fcos +copying build/lib/magnum/tests/functional/k8s_fcos/test_k8s_python_client.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_fcos creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common +copying build/lib/magnum/tests/functional/common/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common +copying build/lib/magnum/tests/functional/common/models.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common +copying build/lib/magnum/tests/functional/common/client.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common copying build/lib/magnum/tests/functional/common/base.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common copying build/lib/magnum/tests/functional/common/config.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common -copying build/lib/magnum/tests/functional/common/datagen.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common -copying build/lib/magnum/tests/functional/common/client.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common copying build/lib/magnum/tests/functional/common/utils.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common -copying build/lib/magnum/tests/functional/common/models.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common -copying build/lib/magnum/tests/functional/common/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common +copying build/lib/magnum/tests/functional/common/datagen.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common copying build/lib/magnum/tests/functional/common/manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s +copying build/lib/magnum/tests/functional/k8s/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s +copying build/lib/magnum/tests/functional/k8s/test_magnum_python_client.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s +copying build/lib/magnum/tests/functional/k8s/test_k8s_python_client.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s +copying build/lib/magnum/tests/functional/python_client_base.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_ironic +copying build/lib/magnum/tests/functional/k8s_ironic/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_ironic +copying build/lib/magnum/tests/functional/k8s_ironic/test_k8s_python_client.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_ironic creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api -copying build/lib/magnum/tests/functional/api/base.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api +copying build/lib/magnum/tests/functional/api/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1 -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients -copying build/lib/magnum/tests/functional/api/v1/clients/cluster_client.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients -copying build/lib/magnum/tests/functional/api/v1/clients/magnum_service_client.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients -copying build/lib/magnum/tests/functional/api/v1/clients/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients -copying build/lib/magnum/tests/functional/api/v1/clients/cert_client.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients -copying build/lib/magnum/tests/functional/api/v1/clients/cluster_template_client.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients copying build/lib/magnum/tests/functional/api/v1/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1 creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models -copying build/lib/magnum/tests/functional/api/v1/models/cluster_model.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models -copying build/lib/magnum/tests/functional/api/v1/models/cluster_id_model.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models +copying build/lib/magnum/tests/functional/api/v1/models/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models copying build/lib/magnum/tests/functional/api/v1/models/cluster_template_model.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models +copying build/lib/magnum/tests/functional/api/v1/models/cert_model.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models copying build/lib/magnum/tests/functional/api/v1/models/cluster_templatepatch_model.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models -copying build/lib/magnum/tests/functional/api/v1/models/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models +copying build/lib/magnum/tests/functional/api/v1/models/cluster_model.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models copying build/lib/magnum/tests/functional/api/v1/models/clusterpatch_model.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models -copying build/lib/magnum/tests/functional/api/v1/models/cert_model.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models +copying build/lib/magnum/tests/functional/api/v1/models/cluster_id_model.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models copying build/lib/magnum/tests/functional/api/v1/models/magnum_service_model.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models -copying build/lib/magnum/tests/functional/api/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api -copying build/lib/magnum/tests/functional/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_ironic -copying build/lib/magnum/tests/functional/k8s_ironic/test_k8s_python_client.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_ironic -copying build/lib/magnum/tests/functional/k8s_ironic/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_ironic -copying build/lib/magnum/tests/functional/python_client_base.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s -copying build/lib/magnum/tests/functional/k8s/test_k8s_python_client.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s -copying build/lib/magnum/tests/functional/k8s/test_magnum_python_client.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s -copying build/lib/magnum/tests/functional/k8s/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients +copying build/lib/magnum/tests/functional/api/v1/clients/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients +copying build/lib/magnum/tests/functional/api/v1/clients/cluster_client.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients +copying build/lib/magnum/tests/functional/api/v1/clients/cluster_template_client.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients +copying build/lib/magnum/tests/functional/api/v1/clients/cert_client.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients +copying build/lib/magnum/tests/functional/api/v1/clients/magnum_service_client.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients +copying build/lib/magnum/tests/functional/api/base.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/releasenotes +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/releasenotes/notes +copying build/lib/magnum/tests/releasenotes/notes/separated-ca-certs-299c95eea1ffd9b1.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/releasenotes/notes +copying build/lib/magnum/tests/base.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests +copying build/lib/magnum/tests/fakes.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests +copying build/lib/magnum/tests/utils.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests copying build/lib/magnum/tests/fake_notifier.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests -copying build/lib/magnum/tests/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests -copying build/lib/magnum/tests/policy_fixture.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests -copying build/lib/magnum/tests/output_fixture.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests -copying build/lib/magnum/tests/conf_fixture.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/contrib copying build/lib/magnum/tests/contrib/post_test_hook.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/contrib -copying build/lib/magnum/tests/contrib/copy_instance_logs.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/contrib copying build/lib/magnum/tests/contrib/gate_hook.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/contrib +copying build/lib/magnum/tests/contrib/copy_instance_logs.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/contrib +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/service +copying build/lib/magnum/service/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/service +copying build/lib/magnum/service/periodic.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/service +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking +copying build/lib/magnum/hacking/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking +copying build/lib/magnum/hacking/checks.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking copying build/lib/magnum/i18n.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum +copying build/lib/magnum/version.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects +copying build/lib/magnum/objects/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects +copying build/lib/magnum/objects/stats.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects +copying build/lib/magnum/objects/federation.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects +copying build/lib/magnum/objects/certificate.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects +copying build/lib/magnum/objects/quota.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects +copying build/lib/magnum/objects/fields.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects +copying build/lib/magnum/objects/cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects +copying build/lib/magnum/objects/base.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects +copying build/lib/magnum/objects/magnum_service.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects +copying build/lib/magnum/objects/x509keypair.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects +copying build/lib/magnum/objects/cluster_template.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects +copying build/lib/magnum/objects/nodegroup.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/config.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/clients.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/short_id.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/policy.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/name_generator.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager -copying build/lib/magnum/common/cert_manager/local_cert_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager -copying build/lib/magnum/common/cert_manager/barbican_cert_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager -copying build/lib/magnum/common/cert_manager/cert_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager -copying build/lib/magnum/common/cert_manager/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager -copying build/lib/magnum/common/cert_manager/x509keypair_cert_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager -copying build/lib/magnum/common/utils.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/base.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/quota.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/magnum_service.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/nodegroup.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/certificate.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/cluster_template.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/stats.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/federation.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/exception.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common copying build/lib/magnum/common/rpc_service.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common copying build/lib/magnum/common/rpc.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/nova.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/context.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/short_id.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common copying build/lib/magnum/common/urlfetch.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/cinder.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/neutron.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509 -copying build/lib/magnum/common/x509/operations.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509 -copying build/lib/magnum/common/x509/validator.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509 copying build/lib/magnum/common/x509/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509 copying build/lib/magnum/common/x509/extensions.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509 +copying build/lib/magnum/common/x509/operations.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509 +copying build/lib/magnum/common/x509/validator.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509 +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/stats.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/federation.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/certificate.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/quota.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/base.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/magnum_service.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/cluster_template.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/nodegroup.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/config.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/clients.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common copying build/lib/magnum/common/octavia.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/profiler.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/exception.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/cinder.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/neutron.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager +copying build/lib/magnum/common/cert_manager/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager +copying build/lib/magnum/common/cert_manager/barbican_cert_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager +copying build/lib/magnum/common/cert_manager/x509keypair_cert_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager +copying build/lib/magnum/common/cert_manager/cert_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager +copying build/lib/magnum/common/cert_manager/local_cert_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager +copying build/lib/magnum/common/policy.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/utils.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/context.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/nova.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common copying build/lib/magnum/common/service.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/name_generator.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/profiler.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common copying build/lib/magnum/common/keystone.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db +copying build/lib/magnum/db/api.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db +copying build/lib/magnum/db/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy copying build/lib/magnum/db/sqlalchemy/api.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy -copying build/lib/magnum/db/sqlalchemy/models.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy +copying build/lib/magnum/db/sqlalchemy/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic -copying build/lib/magnum/db/sqlalchemy/alembic/env.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic -copying build/lib/magnum/db/sqlalchemy/alembic/script.py.mako -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/68ce16dfd341_add_master_lb_enabled_column_to_baymodel_table.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/e772b2598d9_add_container_command.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/ee92b41b8809_create_quotas_table.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/53882537ac57_add_host_column_to_pod.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/f1d8b0ab8b8d_added_observations_to_cluster_template.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/95096e2334ee_add_master_lb_enabled_to_cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/1c1ff5e56048_rename_container_image_id.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/aa0cc27839af_add_docker_volume_size_to_cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/720f640f43d1_rename_bay_table_to_cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/592131657ca1_add_coe_column_to_baymodel.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/456126c6c9e9_create_baylock_table.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions copying build/lib/magnum/db/sqlalchemy/alembic/versions/2ae93c9c6191_add_public_column_to_baymodel_table.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/085e601a39f6_remove_service.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/859fb45df249_remove_replication_controller.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/156ceb17fb0a_add_bay_status_reason.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/14328d6a57e3_add_master_count_to_bay.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/57fbdf2327a2_remove_baylock.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/52bcaf58fecb_add_master_flavor_id_to_cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/fb03fdef8919_rename_baymodel_to_clustertemplate.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions copying build/lib/magnum/db/sqlalchemy/alembic/versions/fcb4efee8f8b_add_version_info_to_bay.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/3be65537a94a_add_network_driver_baymodel_column.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/aa0cc27839af_add_docker_volume_size_to_cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/5977879072a7_add_env_to_container.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/5ad410481b88_rename_insecure.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions copying build/lib/magnum/db/sqlalchemy/alembic/versions/3a938526b35d_add_docker_volume_size.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/68ce16dfd341_add_master_lb_enabled_column_to_baymodel_table.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/05d3e97de9ee_add_volume_driver.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/1afee1db6cd0_add_master_flavor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions copying build/lib/magnum/db/sqlalchemy/alembic/versions/2581ebaf0cb2_initial_migration.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/966a99e70ff_add_proxy.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/417917e778f5_add_server_type_to_baymodel.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/3b6c4c42adb4_add_unique_constraints.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/4e263f236334_add_registry_enabled.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/5d4caa6e0a42_create_trustee_for_each_bay.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/52bcaf58fecb_add_master_flavor_id_to_cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/35cff7c86221_add_private_network_to_baymodel.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/859fb45df249_remove_replication_controller.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/2ace4006498_rename_bay_minions_address.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/40f325033343_add_bay_create_timeout_to_bay.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/9a1539f1cd2c_add_federation_table.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/c0f832afc4fd_add_driver_to_cluster_template.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/bc46ba6cf949_add_keypair_to_cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions copying build/lib/magnum/db/sqlalchemy/alembic/versions/4ea34a59a64c_add_discovery_url_to_bay.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/a0e7c8450ab1_add_labels_to_cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/049f81f6f584_remove_ssh_authorized_key_from_baymodel.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions copying build/lib/magnum/db/sqlalchemy/alembic/versions/47380964133d_add_network_subnet_fip_to_cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/c04e925e65c2_nodegroups_v2.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/1afee1db6cd0_add_master_flavor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/f1d8b0ab8b8d_added_observations_to_cluster_template.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/5793cd26898d_add_bay_status.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/d072f58ab240_modify_x509keypair_table.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/14328d6a57e3_add_master_count_to_bay.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/fb03fdef8919_rename_baymodel_to_clustertemplate.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/461d798132c7_change_cluster_to_support_nodegroups.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/2d8657c0cdc_add_bay_uuid.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions copying build/lib/magnum/db/sqlalchemy/alembic/versions/cbbc65a86986_add_health_status_to_cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/35cff7c86221_add_private_network_to_baymodel.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/27ad304554e2_adding_magnum_service_functionality.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/d072f58ab240_modify_x509keypair_table.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/3bea56f25597_multi_tenant.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/ac92cbae311c_add_nodegoup_table.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/966a99e70ff_add_proxy.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/59e7664a8ba1_add_container_status.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/2b5f24dd95de_rename_service_port.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions copying build/lib/magnum/db/sqlalchemy/alembic/versions/1d045384b966_add_insecure_baymodel_attr.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/adc3b7679ae_add_registry_trust_id_to_bay.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/1c1ff5e56048_rename_container_image_id.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/2d8657c0cdc_add_bay_uuid.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/592131657ca1_add_coe_column_to_baymodel.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/c0f832afc4fd_add_driver_to_cluster_template.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/7da8489d6a68_separated_ca_cert_for_etcd_and_front_.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/05d3e97de9ee_add_volume_driver.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/461d798132c7_change_cluster_to_support_nodegroups.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/33ef79969018_add_memory_to_container.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions copying build/lib/magnum/db/sqlalchemy/alembic/versions/5518af8dbc21_rename_cert_uuid.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/e647f5931da8_add_insecure_registry_to_baymodel.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/1481f5b560dd_add_labels_column_to_baymodel_table.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/e0653b2d5271_add_fixed_subnet_column_to_baymodel_table.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/29affeaa2bc2_rename_bay_master_address.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/95096e2334ee_add_master_lb_enabled_to_cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/ef08a5e057bd_remove_pod.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/2ace4006498_rename_bay_minions_address.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/5d4caa6e0a42_create_trustee_for_each_bay.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/bc46ba6cf949_add_keypair_to_cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/9a1539f1cd2c_add_federation_table.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/6f21dc998bb_add_master_addresses_to_bay.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/049f81f6f584_remove_ssh_authorized_key_from_baymodel.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/a0e7c8450ab1_add_labels_to_cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/2d1354bbf76e_ssh_authorized_key.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/421102d1f2d2_create_x509keypair_table.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/156ceb17fb0a_add_bay_status_reason.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions copying build/lib/magnum/db/sqlalchemy/alembic/versions/041d9a0f1159_add_flavor_id_to_cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/40f325033343_add_bay_create_timeout_to_bay.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/b1f612248cab_add_floating_ip_enabled_column_to_.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/53882537ac57_add_host_column_to_pod.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/3bea56f25597_multi_tenant.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/ee92b41b8809_create_quotas_table.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions copying build/lib/magnum/db/sqlalchemy/alembic/versions/87e62e3c7abc_add_hidden_to_cluster_template.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/6f21dc920bb_add_cert_uuid_to_bay.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/27ad304554e2_adding_magnum_service_functionality.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/6f21dc998bb_add_master_addresses_to_bay.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/ac92cbae311c_add_nodegoup_table.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/4e263f236334_add_registry_enabled.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions copying build/lib/magnum/db/sqlalchemy/alembic/versions/bb42b7cad130_remove_node_object.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/421102d1f2d2_create_x509keypair_table.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/2d1354bbf76e_ssh_authorized_key.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/b1f612248cab_add_floating_ip_enabled_column_to_.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions copying build/lib/magnum/db/sqlalchemy/alembic/versions/04c625aa95ba_change_storage_driver_to_string.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/5ad410481b88_rename_insecure.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions copying build/lib/magnum/db/sqlalchemy/alembic/versions/1f196a3dabae_remove_container.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/2b5f24dd95de_rename_service_port.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/a1136d335540_add_docker_storage_driver_column.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/59e7664a8ba1_add_container_status.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/456126c6c9e9_create_baylock_table.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/085e601a39f6_remove_service.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/33ef79969018_add_memory_to_container.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/417917e778f5_add_server_type_to_baymodel.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions copying build/lib/magnum/db/sqlalchemy/alembic/versions/4956f03cabad_add_cluster_distro.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions -copying build/lib/magnum/db/sqlalchemy/alembic/versions/720f640f43d1_rename_bay_table_to_cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/3b6c4c42adb4_add_unique_constraints.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/29affeaa2bc2_rename_bay_master_address.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/adc3b7679ae_add_registry_trust_id_to_bay.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/5977879072a7_add_env_to_container.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/e647f5931da8_add_insecure_registry_to_baymodel.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/3be65537a94a_add_network_driver_baymodel_column.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/57fbdf2327a2_remove_baylock.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/c04e925e65c2_nodegroups_v2.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/e0653b2d5271_add_fixed_subnet_column_to_baymodel_table.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/5793cd26898d_add_bay_status.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/a1136d335540_add_docker_storage_driver_column.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/1481f5b560dd_add_labels_column_to_baymodel_table.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/7da8489d6a68_separated_ca_cert_for_etcd_and_front_.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/6f21dc920bb_add_cert_uuid_to_bay.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/ef08a5e057bd_remove_pod.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/versions/e772b2598d9_add_container_command.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions +copying build/lib/magnum/db/sqlalchemy/alembic/env.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic +copying build/lib/magnum/db/sqlalchemy/alembic/script.py.mako -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic copying build/lib/magnum/db/sqlalchemy/alembic/README -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic -copying build/lib/magnum/db/sqlalchemy/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy +copying build/lib/magnum/db/sqlalchemy/models.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy copying build/lib/magnum/db/sqlalchemy/migration.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy copying build/lib/magnum/db/sqlalchemy/alembic.ini -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy -copying build/lib/magnum/db/api.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db -copying build/lib/magnum/db/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db copying build/lib/magnum/db/migration.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/servicegroup -copying build/lib/magnum/servicegroup/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/servicegroup -copying build/lib/magnum/servicegroup/magnum_service_periodic.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/servicegroup -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking -copying build/lib/magnum/hacking/checks.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking -copying build/lib/magnum/hacking/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/service -copying build/lib/magnum/service/periodic.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/service -copying build/lib/magnum/service/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/service -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/config.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/app.wsgi -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/rest_api_version_history.rst -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/attr_validator.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/http_error.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/utils.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/app.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/expose.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/hooks.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/versioned_method.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware -copying build/lib/magnum/api/middleware/auth_token.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware -copying build/lib/magnum/api/middleware/parsable_error.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware -copying build/lib/magnum/api/middleware/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers -copying build/lib/magnum/api/controllers/base.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers -copying build/lib/magnum/api/controllers/versions.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/quota.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/magnum_services.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/nodegroup.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/cluster_actions.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/certificate.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/cluster_template.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/stats.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/federation.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/types.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/collection.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/link.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers -copying build/lib/magnum/api/controllers/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers -copying build/lib/magnum/api/controllers/root.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers -copying build/lib/magnum/api/validation.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/servicegroup.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd -copying build/lib/magnum/cmd/status.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd -copying build/lib/magnum/cmd/api.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd -copying build/lib/magnum/cmd/driver_manage.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd -copying build/lib/magnum/cmd/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd -copying build/lib/magnum/cmd/conductor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd -copying build/lib/magnum/cmd/db_manage.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects -copying build/lib/magnum/objects/base.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects -copying build/lib/magnum/objects/fields.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects -copying build/lib/magnum/objects/x509keypair.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects -copying build/lib/magnum/objects/quota.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects -copying build/lib/magnum/objects/magnum_service.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects -copying build/lib/magnum/objects/nodegroup.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects -copying build/lib/magnum/objects/cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects -copying build/lib/magnum/objects/certificate.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects -copying build/lib/magnum/objects/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects -copying build/lib/magnum/objects/cluster_template.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects -copying build/lib/magnum/objects/stats.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects -copying build/lib/magnum/objects/federation.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects -copying build/lib/magnum/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common -copying build/lib/magnum/conductor/handlers/common/cert_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common -copying build/lib/magnum/conductor/handlers/common/trust_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common -copying build/lib/magnum/conductor/handlers/common/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common -copying build/lib/magnum/conductor/handlers/federation_conductor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers -copying build/lib/magnum/conductor/handlers/ca_conductor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers -copying build/lib/magnum/conductor/handlers/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers -copying build/lib/magnum/conductor/handlers/indirection_api.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers -copying build/lib/magnum/conductor/handlers/cluster_conductor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers -copying build/lib/magnum/conductor/handlers/conductor_listener.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers -copying build/lib/magnum/conductor/handlers/nodegroup_conductor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers -copying build/lib/magnum/conductor/scale_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor -copying build/lib/magnum/conductor/api.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor -copying build/lib/magnum/conductor/utils.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks -copying build/lib/magnum/conductor/tasks/heat_tasks.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks -copying build/lib/magnum/conductor/tasks/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks -copying build/lib/magnum/conductor/monitors.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor -copying build/lib/magnum/conductor/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor -copying build/lib/magnum/conductor/k8s_api.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1 +copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1 +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/templates +copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates/COPYING -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/templates +copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates/kubeminion.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/templates +copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates/kubemaster.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/templates +copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates/fcct-config.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/templates +copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates/user_data.json -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/templates +copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates/kubecluster.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/templates +copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/template_def.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1 +copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/version.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1 +copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/driver.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1 +copying build/lib/magnum/drivers/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat +copying build/lib/magnum/drivers/heat/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat +copying build/lib/magnum/drivers/heat/k8s_coreos_template_def.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat +copying build/lib/magnum/drivers/heat/template_def.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat +copying build/lib/magnum/drivers/heat/k8s_template_def.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat +copying build/lib/magnum/drivers/heat/k8s_fedora_template_def.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat +copying build/lib/magnum/drivers/heat/driver.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common -copying build/lib/magnum/drivers/common/k8s_scale_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common -copying build/lib/magnum/drivers/common/k8s_monitor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common copying build/lib/magnum/drivers/common/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates -copying build/lib/magnum/drivers/common/templates/lb_etcd.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments -copying build/lib/magnum/drivers/common/templates/fragments/atomic-install-openstack-ca.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments -copying build/lib/magnum/drivers/common/templates/fragments/floating_ip_address_switcher_public.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments -copying build/lib/magnum/drivers/common/templates/fragments/api_gateway_switcher_master.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments -copying build/lib/magnum/drivers/common/templates/fragments/floating_ip_address_switcher_private.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments -copying build/lib/magnum/drivers/common/templates/fragments/configure-docker-registry.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments -copying build/lib/magnum/drivers/common/templates/fragments/network_switcher_private.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments -copying build/lib/magnum/drivers/common/templates/fragments/enable-docker-registry.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments -copying build/lib/magnum/drivers/common/templates/fragments/configure-docker-storage.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments -copying build/lib/magnum/drivers/common/templates/fragments/network_switcher_existing.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments -copying build/lib/magnum/drivers/common/templates/fragments/configure_docker_storage_driver_fedora_coreos.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments -copying build/lib/magnum/drivers/common/templates/fragments/api_gateway_switcher_pool.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments -copying build/lib/magnum/drivers/common/templates/network.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments -copying build/lib/magnum/drivers/common/templates/environments/with_master_lb.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments -copying build/lib/magnum/drivers/common/templates/environments/no_private_network.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments -copying build/lib/magnum/drivers/common/templates/environments/no_etcd_volume.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments -copying build/lib/magnum/drivers/common/templates/environments/disable_floating_ip.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments -copying build/lib/magnum/drivers/common/templates/environments/with_etcd_volume.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments -copying build/lib/magnum/drivers/common/templates/environments/enable_floating_ip.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments -copying build/lib/magnum/drivers/common/templates/environments/with_volume.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments -copying build/lib/magnum/drivers/common/templates/environments/no_volume.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments -copying build/lib/magnum/drivers/common/templates/environments/with_private_network.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments -copying build/lib/magnum/drivers/common/templates/environments/no_master_lb.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments -copying build/lib/magnum/drivers/common/templates/environments/with_master_lb_octavia.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments -copying build/lib/magnum/drivers/common/templates/environments/enable_lb_floating_ip.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments -copying build/lib/magnum/drivers/common/templates/environments/disable_lb_floating_ip.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/wc-notify-master.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/calico-service-v3-21-x.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/install-clients.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/flannel-service.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-prometheus-monitoring.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/configure-kubernetes-master.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-services-minion.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/upgrade-kubernetes.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/calico-service-v3-26-x.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/install-helm-modules.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-cinder-csi.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-services-master.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/make-cert-client.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/write-kube-os-config.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/write-heat-params.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/configure-etcd.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-ingress-traefik.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/rotate-kubernetes-ca-certs-master.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/configure-kubernetes-master.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-keystone-auth.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/upgrade-kubernetes.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-ingress-controller.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/write-heat-params-master.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/configure-etcd.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/configure-kubernetes-minion.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/kube-dashboard-service.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/disable-selinux.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-ingress-controller.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-ingress-traefik.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-auto-healing.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/add-proxy.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/calico-service-v3-26-x.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-auto-scaling.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/install-cri.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/core-dns-service.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/rotate-kubernetes-ca-certs-worker.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-cert-api-manager.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/kube-apiserver-to-kubelet-role.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/install-cri.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/install-clients.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/write-kube-os-config.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-services-minion.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/install-helm.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/install-helm-modules.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/start-container-agent.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-ingress-octavia.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/disable-selinux.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/write-heat-params-master.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/kube-apiserver-to-kubelet-role.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/rotate-kubernetes-ca-certs-master.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-auto-scaling.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/wc-notify-master.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/kube-dashboard-service.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-prometheus-monitoring.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/calico-service-v3-21-x.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/flannel-service.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-services-master.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/write-heat-params.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/make-cert.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/add-proxy.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/start-container-agent.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/core-dns-service.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/rotate-kubernetes-ca-certs-worker.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/helm +copying build/lib/magnum/drivers/common/templates/kubernetes/helm/metrics-server.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/helm copying build/lib/magnum/drivers/common/templates/kubernetes/helm/ingress-nginx.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/helm copying build/lib/magnum/drivers/common/templates/kubernetes/helm/prometheus-adapter.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/helm -copying build/lib/magnum/drivers/common/templates/kubernetes/helm/metrics-server.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/helm copying build/lib/magnum/drivers/common/templates/kubernetes/helm/prometheus-operator.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/helm +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments +copying build/lib/magnum/drivers/common/templates/fragments/configure_docker_storage_driver_fedora_coreos.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments +copying build/lib/magnum/drivers/common/templates/fragments/network_switcher_private.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments +copying build/lib/magnum/drivers/common/templates/fragments/floating_ip_address_switcher_private.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments +copying build/lib/magnum/drivers/common/templates/fragments/api_gateway_switcher_pool.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments +copying build/lib/magnum/drivers/common/templates/fragments/configure-docker-storage.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments +copying build/lib/magnum/drivers/common/templates/fragments/configure-docker-registry.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments +copying build/lib/magnum/drivers/common/templates/fragments/api_gateway_switcher_master.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments +copying build/lib/magnum/drivers/common/templates/fragments/enable-docker-registry.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments +copying build/lib/magnum/drivers/common/templates/fragments/floating_ip_address_switcher_public.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments +copying build/lib/magnum/drivers/common/templates/fragments/network_switcher_existing.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments +copying build/lib/magnum/drivers/common/templates/fragments/atomic-install-openstack-ca.sh -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments +copying build/lib/magnum/drivers/common/templates/network.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments +copying build/lib/magnum/drivers/common/templates/environments/enable_lb_floating_ip.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments +copying build/lib/magnum/drivers/common/templates/environments/no_master_lb.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments +copying build/lib/magnum/drivers/common/templates/environments/no_etcd_volume.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments +copying build/lib/magnum/drivers/common/templates/environments/enable_floating_ip.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments +copying build/lib/magnum/drivers/common/templates/environments/with_master_lb_octavia.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments +copying build/lib/magnum/drivers/common/templates/environments/with_volume.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments +copying build/lib/magnum/drivers/common/templates/environments/disable_lb_floating_ip.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments +copying build/lib/magnum/drivers/common/templates/environments/no_volume.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments +copying build/lib/magnum/drivers/common/templates/environments/with_etcd_volume.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments +copying build/lib/magnum/drivers/common/templates/environments/disable_floating_ip.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments +copying build/lib/magnum/drivers/common/templates/environments/with_private_network.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments +copying build/lib/magnum/drivers/common/templates/environments/with_master_lb.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments +copying build/lib/magnum/drivers/common/templates/environments/no_private_network.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments copying build/lib/magnum/drivers/common/templates/lb_api.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates +copying build/lib/magnum/drivers/common/templates/lb_etcd.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates +copying build/lib/magnum/drivers/common/k8s_monitor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common +copying build/lib/magnum/drivers/common/k8s_scale_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common copying build/lib/magnum/drivers/common/driver.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1 -copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/version.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1 -copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1 -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/templates -copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates/kubeminion.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/templates -copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates/user_data.json -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/templates -copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates/kubecluster.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/templates -copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates/fcct-config.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/templates -copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates/COPYING -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/templates -copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates/kubemaster.yaml -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/templates -copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/driver.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1 -copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/template_def.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1 -copying build/lib/magnum/drivers/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers -creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat -copying build/lib/magnum/drivers/heat/k8s_fedora_template_def.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat -copying build/lib/magnum/drivers/heat/k8s_template_def.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat -copying build/lib/magnum/drivers/heat/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat -copying build/lib/magnum/drivers/heat/k8s_coreos_template_def.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat -copying build/lib/magnum/drivers/heat/driver.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat -copying build/lib/magnum/drivers/heat/template_def.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/version.py to version.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/opts.py to opts.cpython-312.pyc +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/servicegroup +copying build/lib/magnum/servicegroup/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/servicegroup +copying build/lib/magnum/servicegroup/magnum_service_periodic.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/servicegroup +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor +copying build/lib/magnum/conductor/api.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor +copying build/lib/magnum/conductor/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor +copying build/lib/magnum/conductor/scale_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers +copying build/lib/magnum/conductor/handlers/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers +copying build/lib/magnum/conductor/handlers/conductor_listener.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers +copying build/lib/magnum/conductor/handlers/federation_conductor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common +copying build/lib/magnum/conductor/handlers/common/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common +copying build/lib/magnum/conductor/handlers/common/cert_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common +copying build/lib/magnum/conductor/handlers/common/trust_manager.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common +copying build/lib/magnum/conductor/handlers/nodegroup_conductor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers +copying build/lib/magnum/conductor/handlers/cluster_conductor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers +copying build/lib/magnum/conductor/handlers/indirection_api.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers +copying build/lib/magnum/conductor/handlers/ca_conductor.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers +copying build/lib/magnum/conductor/monitors.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor +copying build/lib/magnum/conductor/k8s_api.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks +copying build/lib/magnum/conductor/tasks/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks +copying build/lib/magnum/conductor/tasks/heat_tasks.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks +copying build/lib/magnum/conductor/utils.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/versioned_method.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/http_error.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/validation.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/app.wsgi -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware +copying build/lib/magnum/api/middleware/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware +copying build/lib/magnum/api/middleware/auth_token.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware +copying build/lib/magnum/api/middleware/parsable_error.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware +copying build/lib/magnum/api/config.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/rest_api_version_history.rst -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/hooks.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/utils.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers +copying build/lib/magnum/api/controllers/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers +copying build/lib/magnum/api/controllers/link.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers +creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/__init__.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/stats.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/federation.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/certificate.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/quota.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/collection.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/cluster_actions.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/cluster.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/types.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/magnum_services.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/cluster_template.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/nodegroup.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/versions.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers +copying build/lib/magnum/api/controllers/root.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers +copying build/lib/magnum/api/controllers/base.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers +copying build/lib/magnum/api/expose.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/app.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/attr_validator.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/servicegroup.py -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/__init__.py to __init__.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/api.py to api.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/utils.py to utils.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/heat.py to heat.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/magnum_client.py to magnum_client.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/glance.py to glance.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/docker_registry.py to docker_registry.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/rpc.py to rpc.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/quota.py to quota.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/barbican.py to barbican.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/opts.py to opts.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/x509.py to x509.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/trust.py to trust.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/cluster.py to cluster.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/cluster_templates.py to cluster_templates.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/paths.py to paths.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/certificates.py to certificates.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/drivers.py to drivers.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/octavia.py to octavia.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/cluster_heat.py to cluster_heat.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/rpc.py to rpc.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/nova.py to nova.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/cluster.py to cluster.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/glance.py to glance.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/database.py to database.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/x509.py to x509.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/cinder.py to cinder.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/kubernetes.py to kubernetes.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/database.py to database.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/neutron.py to neutron.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/heat.py to heat.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/octavia.py to octavia.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/profiler.py to profiler.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/conductor.py to conductor.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/drivers.py to drivers.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/docker.py to docker.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/trust.py to trust.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/cluster_templates.py to cluster_templates.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/paths.py to paths.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/kubernetes.py to kubernetes.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/utils.py to utils.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/nova.py to nova.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/services.py to services.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/barbican.py to barbican.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/docker.py to docker.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/profiler.py to profiler.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/keystone.py to keystone.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/magnum_client.py to magnum_client.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/docker_registry.py to docker_registry.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/base.py to base.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/utils.py to utils.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/api.py to api.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/db_manage.py to db_manage.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/driver_manage.py to driver_manage.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/status.py to status.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/conductor.py to conductor.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/policy_fixture.py to policy_fixture.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/__init__.py to __init__.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/test_hacking.py to test_hacking.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conf/__init__.py to __init__.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conf/test_conf.py to test_conf.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/template/test_template.py to test_template.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/template/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_neutron.py to test_neutron.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_rpc.py to test_rpc.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_short_id.py to test_short_id.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_clients.py to test_clients.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_policy.py to test_policy.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/test_cert_manager.py to test_cert_manager.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/test_barbican.py to test_barbican.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/test_local.py to test_local.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/test_x509keypair_cert_manager.py to test_x509keypair_cert_manager.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_conductor.py to test_conductor.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_db_manage.py to test_db_manage.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_status.py to test_status.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_driver_manage.py to test_driver_manage.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_api.py to test_api.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/service/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/service/test_periodic.py to test_periodic.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_cluster.py to test_cluster.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_nodegroup.py to test_nodegroup.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_magnum_service.py to test_magnum_service.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_cluster_template.py to test_cluster_template.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_objects.py to test_objects.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_federation.py to test_federation.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_fields.py to test_fields.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/utils.py to utils.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_x509keypair.py to test_x509keypair.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_service.py to test_service.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_exception.py to test_exception.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509/test_sign.py to test_sign.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509/test_operations.py to test_operations.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509/test_validator.py to test_validator.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_octavia.py to test_octavia.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_profiler.py to test_profiler.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_exception.py to test_exception.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/base.py to base.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_federation_policy.py to test_federation_policy.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_utils.py to test_utils.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/__init__.py to __init__.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_magnum_service_policy.py to test_magnum_service_policy.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_cluster_policy.py to test_cluster_policy.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_quota_policy.py to test_quota_policy.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_stats_policy.py to test_stats_policy.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_cluster_template_policy.py to test_cluster_template_policy.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_cluster_policy.py to test_cluster_policy.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_certificate_policy.py to test_certificate_policy.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_nodegroup_policy.py to test_nodegroup_policy.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_quota_policy.py to test_quota_policy.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_context.py to test_context.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_service.py to test_service.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_utils.py to test_utils.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509/test_validator.py to test_validator.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509/test_operations.py to test_operations.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509/test_sign.py to test_sign.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_urlfetch.py to test_urlfetch.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_certificate_policy.py to test_certificate_policy.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/base.py to base.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_federation_policy.py to test_federation_policy.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_short_id.py to test_short_id.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_keystone.py to test_keystone.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/base.py to base.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_urlfetch.py to test_urlfetch.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_neutron.py to test_neutron.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/test_local.py to test_local.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/test_x509keypair_cert_manager.py to test_x509keypair_cert_manager.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/test_cert_manager.py to test_cert_manager.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/test_barbican.py to test_barbican.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_policy.py to test_policy.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_rpc.py to test_rpc.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_clients.py to test_clients.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_context.py to test_context.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_cluster.py to test_cluster.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/__init__.py to __init__.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_nodegroup.py to test_nodegroup.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_magnum_service.py to test_magnum_service.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/sqlalchemy/test_types.py to test_types.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/sqlalchemy/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/utils.py to utils.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/sqlalchemy/test_types.py to test_types.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_quota.py to test_quota.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_x509keypair.py to test_x509keypair.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_cluster.py to test_cluster.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_federation.py to test_federation.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_cluster_template.py to test_cluster_template.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/servicegroup/test_magnum_service.py to test_magnum_service.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/base.py to base.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_federation.py to test_federation.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/utils.py to utils.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_x509keypair.py to test_x509keypair.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers/test_template_definition.py to test_template_definition.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers/test_heat_driver.py to test_heat_driver.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/servicegroup/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/service/test_periodic.py to test_periodic.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/service/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/base.py to base.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_servicegroup.py to test_servicegroup.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_expose.py to test_expose.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/utils.py to utils.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_hooks.py to test_hooks.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_attr_validator.py to test_attr_validator.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_validation.py to test_validation.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_app.py to test_app.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/test_base.py to test_base.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_nodegroup.py to test_nodegroup.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_magnum_service.py to test_magnum_service.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_certificate.py to test_certificate.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_cluster_actions.py to test_cluster_actions.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_stats.py to test_stats.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_quota.py to test_quota.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_types.py to test_types.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_utils.py to test_utils.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_cluster.py to test_cluster.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_federation.py to test_federation.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_cluster_template.py to test_cluster_template.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/test_root.py to test_root.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_driver_manage.py to test_driver_manage.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_status.py to test_status.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_db_manage.py to test_db_manage.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_conductor.py to test_conductor.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_api.py to test_api.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_nodegroup.py to test_nodegroup.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_magnum_service.py to test_magnum_service.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/utils.py to utils.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_fields.py to test_fields.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_objects.py to test_objects.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_x509keypair.py to test_x509keypair.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_cluster.py to test_cluster.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_federation.py to test_federation.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_cluster_template.py to test_cluster_template.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_ca_conductor.py to test_ca_conductor.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/servicegroup/test_magnum_service.py to test_magnum_service.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_k8s_api.py to test_k8s_api.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_scale_manager.py to test_scale_manager.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_k8s_cluster_conductor.py to test_k8s_cluster_conductor.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_nodegroup_conductor.py to test_nodegroup_conductor.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_ca_conductor.py to test_ca_conductor.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_indirection_api.py to test_indirection_api.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_k8s_cluster_conductor.py to test_k8s_cluster_conductor.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_conductor_listener.py to test_conductor_listener.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common/test_cert_manager.py to test_cert_manager.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common/test_cert_manager.py to test_cert_manager.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common/test_trust_manager.py to test_trust_manager.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_federation_conductor.py to test_federation_conductor.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/__init__.py to __init__.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_cluster_conductor.py to test_cluster_conductor.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_k8s_api.py to test_k8s_api.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_utils.py to test_utils.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_rpcapi.py to test_rpcapi.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/tasks/__init__.py to __init__.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/tasks/test_heat_tasks.py to test_heat_tasks.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_scale_manager.py to test_scale_manager.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/tasks/__init__.py to __init__.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_monitors.py to test_monitors.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_utils.py to test_utils.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers/test_heat_driver.py to test_heat_driver.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers/test_template_definition.py to test_template_definition.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/fakes.py to fakes.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_fcos/test_k8s_python_client.py to test_k8s_python_client.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_app.py to test_app.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_validation.py to test_validation.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_hooks.py to test_hooks.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_servicegroup.py to test_servicegroup.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/base.py to base.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_expose.py to test_expose.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_attr_validator.py to test_attr_validator.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/utils.py to utils.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_cluster.py to test_cluster.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_nodegroup.py to test_nodegroup.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_magnum_service.py to test_magnum_service.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_quota.py to test_quota.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_cluster_template.py to test_cluster_template.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_utils.py to test_utils.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_cluster_actions.py to test_cluster_actions.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_stats.py to test_stats.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_federation.py to test_federation.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_certificate.py to test_certificate.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_types.py to test_types.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/test_base.py to test_base.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/test_root.py to test_root.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/template/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/template/test_template.py to test_template.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/conf_fixture.py to conf_fixture.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/output_fixture.py to output_fixture.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/__init__.py to __init__.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_fcos/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_fcos/test_k8s_python_client.py to test_k8s_python_client.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/models.py to models.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/client.py to client.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/base.py to base.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/config.py to config.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/datagen.py to datagen.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/client.py to client.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/utils.py to utils.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/models.py to models.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/datagen.py to datagen.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/manager.py to manager.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/base.py to base.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/cluster_client.py to cluster_client.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/magnum_service_client.py to magnum_service_client.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/cert_client.py to cert_client.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/cluster_template_client.py to cluster_template_client.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s/test_magnum_python_client.py to test_magnum_python_client.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s/test_k8s_python_client.py to test_k8s_python_client.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/python_client_base.py to python_client_base.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_ironic/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_ironic/test_k8s_python_client.py to test_k8s_python_client.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/__init__.py to __init__.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/cluster_model.py to cluster_model.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/cluster_id_model.py to cluster_id_model.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/__init__.py to __init__.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/cluster_template_model.py to cluster_template_model.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/cert_model.py to cert_model.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/cluster_templatepatch_model.py to cluster_templatepatch_model.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/cluster_model.py to cluster_model.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/clusterpatch_model.py to clusterpatch_model.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/cert_model.py to cert_model.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/cluster_id_model.py to cluster_id_model.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/magnum_service_model.py to magnum_service_model.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_ironic/test_k8s_python_client.py to test_k8s_python_client.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_ironic/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/python_client_base.py to python_client_base.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s/test_k8s_python_client.py to test_k8s_python_client.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s/test_magnum_python_client.py to test_magnum_python_client.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/cluster_client.py to cluster_client.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/cluster_template_client.py to cluster_template_client.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/cert_client.py to cert_client.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/magnum_service_client.py to magnum_service_client.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/base.py to base.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/base.py to base.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/fakes.py to fakes.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/utils.py to utils.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/fake_notifier.py to fake_notifier.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/policy_fixture.py to policy_fixture.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/output_fixture.py to output_fixture.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/conf_fixture.py to conf_fixture.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/service/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/service/periodic.py to periodic.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking/checks.py to checks.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/i18n.py to i18n.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/config.py to config.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/clients.py to clients.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/short_id.py to short_id.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policy.py to policy.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/name_generator.py to name_generator.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/local_cert_manager.py to local_cert_manager.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/barbican_cert_manager.py to barbican_cert_manager.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/cert_manager.py to cert_manager.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/x509keypair_cert_manager.py to x509keypair_cert_manager.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/utils.py to utils.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/base.py to base.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/quota.py to quota.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/magnum_service.py to magnum_service.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/nodegroup.py to nodegroup.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/cluster.py to cluster.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/certificate.py to certificate.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/cluster_template.py to cluster_template.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/stats.py to stats.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/federation.py to federation.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/version.py to version.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/stats.py to stats.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/federation.py to federation.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/certificate.py to certificate.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/quota.py to quota.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/fields.py to fields.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/cluster.py to cluster.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/base.py to base.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/magnum_service.py to magnum_service.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/x509keypair.py to x509keypair.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/cluster_template.py to cluster_template.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/nodegroup.py to nodegroup.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/exception.py to exception.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/rpc_service.py to rpc_service.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/rpc.py to rpc.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/nova.py to nova.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/context.py to context.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/short_id.py to short_id.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/urlfetch.py to urlfetch.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cinder.py to cinder.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/neutron.py to neutron.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509/operations.py to operations.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509/validator.py to validator.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509/__init__.py to __init__.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509/extensions.py to extensions.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509/operations.py to operations.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509/validator.py to validator.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/stats.py to stats.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/federation.py to federation.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/certificate.py to certificate.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/quota.py to quota.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/cluster.py to cluster.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/base.py to base.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/magnum_service.py to magnum_service.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/cluster_template.py to cluster_template.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/nodegroup.py to nodegroup.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/config.py to config.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/clients.py to clients.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/octavia.py to octavia.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/profiler.py to profiler.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/exception.py to exception.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cinder.py to cinder.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/neutron.py to neutron.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/barbican_cert_manager.py to barbican_cert_manager.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/x509keypair_cert_manager.py to x509keypair_cert_manager.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/cert_manager.py to cert_manager.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/local_cert_manager.py to local_cert_manager.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policy.py to policy.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/utils.py to utils.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/context.py to context.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/nova.py to nova.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/service.py to service.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/name_generator.py to name_generator.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/profiler.py to profiler.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/keystone.py to keystone.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/api.py to api.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/__init__.py to __init__.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/api.py to api.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/models.py to models.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/env.py to env.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/68ce16dfd341_add_master_lb_enabled_column_to_baymodel_table.py to 68ce16dfd341_add_master_lb_enabled_column_to_baymodel_table.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/e772b2598d9_add_container_command.py to e772b2598d9_add_container_command.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/ee92b41b8809_create_quotas_table.py to ee92b41b8809_create_quotas_table.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/53882537ac57_add_host_column_to_pod.py to 53882537ac57_add_host_column_to_pod.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/f1d8b0ab8b8d_added_observations_to_cluster_template.py to f1d8b0ab8b8d_added_observations_to_cluster_template.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/95096e2334ee_add_master_lb_enabled_to_cluster.py to 95096e2334ee_add_master_lb_enabled_to_cluster.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/1c1ff5e56048_rename_container_image_id.py to 1c1ff5e56048_rename_container_image_id.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/aa0cc27839af_add_docker_volume_size_to_cluster.py to aa0cc27839af_add_docker_volume_size_to_cluster.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/720f640f43d1_rename_bay_table_to_cluster.py to 720f640f43d1_rename_bay_table_to_cluster.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/592131657ca1_add_coe_column_to_baymodel.py to 592131657ca1_add_coe_column_to_baymodel.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/456126c6c9e9_create_baylock_table.py to 456126c6c9e9_create_baylock_table.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/2ae93c9c6191_add_public_column_to_baymodel_table.py to 2ae93c9c6191_add_public_column_to_baymodel_table.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/085e601a39f6_remove_service.py to 085e601a39f6_remove_service.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/859fb45df249_remove_replication_controller.py to 859fb45df249_remove_replication_controller.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/156ceb17fb0a_add_bay_status_reason.py to 156ceb17fb0a_add_bay_status_reason.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/14328d6a57e3_add_master_count_to_bay.py to 14328d6a57e3_add_master_count_to_bay.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/57fbdf2327a2_remove_baylock.py to 57fbdf2327a2_remove_baylock.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/52bcaf58fecb_add_master_flavor_id_to_cluster.py to 52bcaf58fecb_add_master_flavor_id_to_cluster.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/fb03fdef8919_rename_baymodel_to_clustertemplate.py to fb03fdef8919_rename_baymodel_to_clustertemplate.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/fcb4efee8f8b_add_version_info_to_bay.py to fcb4efee8f8b_add_version_info_to_bay.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/3be65537a94a_add_network_driver_baymodel_column.py to 3be65537a94a_add_network_driver_baymodel_column.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/aa0cc27839af_add_docker_volume_size_to_cluster.py to aa0cc27839af_add_docker_volume_size_to_cluster.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/5977879072a7_add_env_to_container.py to 5977879072a7_add_env_to_container.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/5ad410481b88_rename_insecure.py to 5ad410481b88_rename_insecure.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/3a938526b35d_add_docker_volume_size.py to 3a938526b35d_add_docker_volume_size.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/68ce16dfd341_add_master_lb_enabled_column_to_baymodel_table.py to 68ce16dfd341_add_master_lb_enabled_column_to_baymodel_table.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/05d3e97de9ee_add_volume_driver.py to 05d3e97de9ee_add_volume_driver.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/1afee1db6cd0_add_master_flavor.py to 1afee1db6cd0_add_master_flavor.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/2581ebaf0cb2_initial_migration.py to 2581ebaf0cb2_initial_migration.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/966a99e70ff_add_proxy.py to 966a99e70ff_add_proxy.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/417917e778f5_add_server_type_to_baymodel.py to 417917e778f5_add_server_type_to_baymodel.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/3b6c4c42adb4_add_unique_constraints.py to 3b6c4c42adb4_add_unique_constraints.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/4e263f236334_add_registry_enabled.py to 4e263f236334_add_registry_enabled.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/5d4caa6e0a42_create_trustee_for_each_bay.py to 5d4caa6e0a42_create_trustee_for_each_bay.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/52bcaf58fecb_add_master_flavor_id_to_cluster.py to 52bcaf58fecb_add_master_flavor_id_to_cluster.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/35cff7c86221_add_private_network_to_baymodel.py to 35cff7c86221_add_private_network_to_baymodel.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/859fb45df249_remove_replication_controller.py to 859fb45df249_remove_replication_controller.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/2ace4006498_rename_bay_minions_address.py to 2ace4006498_rename_bay_minions_address.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/40f325033343_add_bay_create_timeout_to_bay.py to 40f325033343_add_bay_create_timeout_to_bay.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/9a1539f1cd2c_add_federation_table.py to 9a1539f1cd2c_add_federation_table.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/c0f832afc4fd_add_driver_to_cluster_template.py to c0f832afc4fd_add_driver_to_cluster_template.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/bc46ba6cf949_add_keypair_to_cluster.py to bc46ba6cf949_add_keypair_to_cluster.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/4ea34a59a64c_add_discovery_url_to_bay.py to 4ea34a59a64c_add_discovery_url_to_bay.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/a0e7c8450ab1_add_labels_to_cluster.py to a0e7c8450ab1_add_labels_to_cluster.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/049f81f6f584_remove_ssh_authorized_key_from_baymodel.py to 049f81f6f584_remove_ssh_authorized_key_from_baymodel.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/47380964133d_add_network_subnet_fip_to_cluster.py to 47380964133d_add_network_subnet_fip_to_cluster.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/c04e925e65c2_nodegroups_v2.py to c04e925e65c2_nodegroups_v2.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/1afee1db6cd0_add_master_flavor.py to 1afee1db6cd0_add_master_flavor.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/f1d8b0ab8b8d_added_observations_to_cluster_template.py to f1d8b0ab8b8d_added_observations_to_cluster_template.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/5793cd26898d_add_bay_status.py to 5793cd26898d_add_bay_status.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/d072f58ab240_modify_x509keypair_table.py to d072f58ab240_modify_x509keypair_table.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/14328d6a57e3_add_master_count_to_bay.py to 14328d6a57e3_add_master_count_to_bay.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/fb03fdef8919_rename_baymodel_to_clustertemplate.py to fb03fdef8919_rename_baymodel_to_clustertemplate.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/461d798132c7_change_cluster_to_support_nodegroups.py to 461d798132c7_change_cluster_to_support_nodegroups.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/2d8657c0cdc_add_bay_uuid.py to 2d8657c0cdc_add_bay_uuid.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/cbbc65a86986_add_health_status_to_cluster.py to cbbc65a86986_add_health_status_to_cluster.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/35cff7c86221_add_private_network_to_baymodel.py to 35cff7c86221_add_private_network_to_baymodel.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/27ad304554e2_adding_magnum_service_functionality.py to 27ad304554e2_adding_magnum_service_functionality.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/d072f58ab240_modify_x509keypair_table.py to d072f58ab240_modify_x509keypair_table.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/3bea56f25597_multi_tenant.py to 3bea56f25597_multi_tenant.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/ac92cbae311c_add_nodegoup_table.py to ac92cbae311c_add_nodegoup_table.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/966a99e70ff_add_proxy.py to 966a99e70ff_add_proxy.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/59e7664a8ba1_add_container_status.py to 59e7664a8ba1_add_container_status.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/2b5f24dd95de_rename_service_port.py to 2b5f24dd95de_rename_service_port.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/1d045384b966_add_insecure_baymodel_attr.py to 1d045384b966_add_insecure_baymodel_attr.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/adc3b7679ae_add_registry_trust_id_to_bay.py to adc3b7679ae_add_registry_trust_id_to_bay.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/1c1ff5e56048_rename_container_image_id.py to 1c1ff5e56048_rename_container_image_id.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/2d8657c0cdc_add_bay_uuid.py to 2d8657c0cdc_add_bay_uuid.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/592131657ca1_add_coe_column_to_baymodel.py to 592131657ca1_add_coe_column_to_baymodel.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/c0f832afc4fd_add_driver_to_cluster_template.py to c0f832afc4fd_add_driver_to_cluster_template.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/7da8489d6a68_separated_ca_cert_for_etcd_and_front_.py to 7da8489d6a68_separated_ca_cert_for_etcd_and_front_.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/05d3e97de9ee_add_volume_driver.py to 05d3e97de9ee_add_volume_driver.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/461d798132c7_change_cluster_to_support_nodegroups.py to 461d798132c7_change_cluster_to_support_nodegroups.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/33ef79969018_add_memory_to_container.py to 33ef79969018_add_memory_to_container.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/5518af8dbc21_rename_cert_uuid.py to 5518af8dbc21_rename_cert_uuid.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/e647f5931da8_add_insecure_registry_to_baymodel.py to e647f5931da8_add_insecure_registry_to_baymodel.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/1481f5b560dd_add_labels_column_to_baymodel_table.py to 1481f5b560dd_add_labels_column_to_baymodel_table.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/e0653b2d5271_add_fixed_subnet_column_to_baymodel_table.py to e0653b2d5271_add_fixed_subnet_column_to_baymodel_table.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/29affeaa2bc2_rename_bay_master_address.py to 29affeaa2bc2_rename_bay_master_address.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/95096e2334ee_add_master_lb_enabled_to_cluster.py to 95096e2334ee_add_master_lb_enabled_to_cluster.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/ef08a5e057bd_remove_pod.py to ef08a5e057bd_remove_pod.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/2ace4006498_rename_bay_minions_address.py to 2ace4006498_rename_bay_minions_address.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/5d4caa6e0a42_create_trustee_for_each_bay.py to 5d4caa6e0a42_create_trustee_for_each_bay.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/bc46ba6cf949_add_keypair_to_cluster.py to bc46ba6cf949_add_keypair_to_cluster.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/9a1539f1cd2c_add_federation_table.py to 9a1539f1cd2c_add_federation_table.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/6f21dc998bb_add_master_addresses_to_bay.py to 6f21dc998bb_add_master_addresses_to_bay.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/049f81f6f584_remove_ssh_authorized_key_from_baymodel.py to 049f81f6f584_remove_ssh_authorized_key_from_baymodel.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/a0e7c8450ab1_add_labels_to_cluster.py to a0e7c8450ab1_add_labels_to_cluster.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/2d1354bbf76e_ssh_authorized_key.py to 2d1354bbf76e_ssh_authorized_key.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/421102d1f2d2_create_x509keypair_table.py to 421102d1f2d2_create_x509keypair_table.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/156ceb17fb0a_add_bay_status_reason.py to 156ceb17fb0a_add_bay_status_reason.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/041d9a0f1159_add_flavor_id_to_cluster.py to 041d9a0f1159_add_flavor_id_to_cluster.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/40f325033343_add_bay_create_timeout_to_bay.py to 40f325033343_add_bay_create_timeout_to_bay.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/b1f612248cab_add_floating_ip_enabled_column_to_.py to b1f612248cab_add_floating_ip_enabled_column_to_.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/53882537ac57_add_host_column_to_pod.py to 53882537ac57_add_host_column_to_pod.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/3bea56f25597_multi_tenant.py to 3bea56f25597_multi_tenant.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/ee92b41b8809_create_quotas_table.py to ee92b41b8809_create_quotas_table.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/87e62e3c7abc_add_hidden_to_cluster_template.py to 87e62e3c7abc_add_hidden_to_cluster_template.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/6f21dc920bb_add_cert_uuid_to_bay.py to 6f21dc920bb_add_cert_uuid_to_bay.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/27ad304554e2_adding_magnum_service_functionality.py to 27ad304554e2_adding_magnum_service_functionality.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/6f21dc998bb_add_master_addresses_to_bay.py to 6f21dc998bb_add_master_addresses_to_bay.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/ac92cbae311c_add_nodegoup_table.py to ac92cbae311c_add_nodegoup_table.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/4e263f236334_add_registry_enabled.py to 4e263f236334_add_registry_enabled.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/bb42b7cad130_remove_node_object.py to bb42b7cad130_remove_node_object.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/421102d1f2d2_create_x509keypair_table.py to 421102d1f2d2_create_x509keypair_table.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/2d1354bbf76e_ssh_authorized_key.py to 2d1354bbf76e_ssh_authorized_key.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/b1f612248cab_add_floating_ip_enabled_column_to_.py to b1f612248cab_add_floating_ip_enabled_column_to_.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/04c625aa95ba_change_storage_driver_to_string.py to 04c625aa95ba_change_storage_driver_to_string.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/5ad410481b88_rename_insecure.py to 5ad410481b88_rename_insecure.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/1f196a3dabae_remove_container.py to 1f196a3dabae_remove_container.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/2b5f24dd95de_rename_service_port.py to 2b5f24dd95de_rename_service_port.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/a1136d335540_add_docker_storage_driver_column.py to a1136d335540_add_docker_storage_driver_column.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/59e7664a8ba1_add_container_status.py to 59e7664a8ba1_add_container_status.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/456126c6c9e9_create_baylock_table.py to 456126c6c9e9_create_baylock_table.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/085e601a39f6_remove_service.py to 085e601a39f6_remove_service.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/33ef79969018_add_memory_to_container.py to 33ef79969018_add_memory_to_container.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/417917e778f5_add_server_type_to_baymodel.py to 417917e778f5_add_server_type_to_baymodel.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/4956f03cabad_add_cluster_distro.py to 4956f03cabad_add_cluster_distro.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/720f640f43d1_rename_bay_table_to_cluster.py to 720f640f43d1_rename_bay_table_to_cluster.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/3b6c4c42adb4_add_unique_constraints.py to 3b6c4c42adb4_add_unique_constraints.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/29affeaa2bc2_rename_bay_master_address.py to 29affeaa2bc2_rename_bay_master_address.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/adc3b7679ae_add_registry_trust_id_to_bay.py to adc3b7679ae_add_registry_trust_id_to_bay.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/5977879072a7_add_env_to_container.py to 5977879072a7_add_env_to_container.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/e647f5931da8_add_insecure_registry_to_baymodel.py to e647f5931da8_add_insecure_registry_to_baymodel.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/3be65537a94a_add_network_driver_baymodel_column.py to 3be65537a94a_add_network_driver_baymodel_column.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/57fbdf2327a2_remove_baylock.py to 57fbdf2327a2_remove_baylock.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/c04e925e65c2_nodegroups_v2.py to c04e925e65c2_nodegroups_v2.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/e0653b2d5271_add_fixed_subnet_column_to_baymodel_table.py to e0653b2d5271_add_fixed_subnet_column_to_baymodel_table.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/5793cd26898d_add_bay_status.py to 5793cd26898d_add_bay_status.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/a1136d335540_add_docker_storage_driver_column.py to a1136d335540_add_docker_storage_driver_column.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/1481f5b560dd_add_labels_column_to_baymodel_table.py to 1481f5b560dd_add_labels_column_to_baymodel_table.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/7da8489d6a68_separated_ca_cert_for_etcd_and_front_.py to 7da8489d6a68_separated_ca_cert_for_etcd_and_front_.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/6f21dc920bb_add_cert_uuid_to_bay.py to 6f21dc920bb_add_cert_uuid_to_bay.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/ef08a5e057bd_remove_pod.py to ef08a5e057bd_remove_pod.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/e772b2598d9_add_container_command.py to e772b2598d9_add_container_command.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/env.py to env.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/models.py to models.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/migration.py to migration.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/api.py to api.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/__init__.py to __init__.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/migration.py to migration.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/template_def.py to template_def.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/version.py to version.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/driver.py to driver.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/k8s_coreos_template_def.py to k8s_coreos_template_def.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/template_def.py to template_def.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/k8s_template_def.py to k8s_template_def.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/k8s_fedora_template_def.py to k8s_fedora_template_def.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/driver.py to driver.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/k8s_monitor.py to k8s_monitor.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/k8s_scale_manager.py to k8s_scale_manager.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/driver.py to driver.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/servicegroup/__init__.py to __init__.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/servicegroup/magnum_service_periodic.py to magnum_service_periodic.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking/checks.py to checks.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/service/periodic.py to periodic.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/service/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/config.py to config.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/attr_validator.py to attr_validator.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/http_error.py to http_error.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/utils.py to utils.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/app.py to app.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/expose.py to expose.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/hooks.py to hooks.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/api.py to api.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/scale_manager.py to scale_manager.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/conductor_listener.py to conductor_listener.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/federation_conductor.py to federation_conductor.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common/cert_manager.py to cert_manager.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common/trust_manager.py to trust_manager.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/nodegroup_conductor.py to nodegroup_conductor.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/cluster_conductor.py to cluster_conductor.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/indirection_api.py to indirection_api.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/ca_conductor.py to ca_conductor.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/monitors.py to monitors.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/k8s_api.py to k8s_api.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks/heat_tasks.py to heat_tasks.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/utils.py to utils.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/versioned_method.py to versioned_method.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/http_error.py to http_error.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/validation.py to validation.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware/__init__.py to __init__.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware/auth_token.py to auth_token.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware/parsable_error.py to parsable_error.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/base.py to base.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/versions.py to versions.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/quota.py to quota.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/magnum_services.py to magnum_services.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/nodegroup.py to nodegroup.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/cluster_actions.py to cluster_actions.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/cluster.py to cluster.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/certificate.py to certificate.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/config.py to config.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/hooks.py to hooks.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/utils.py to utils.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/link.py to link.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/cluster_template.py to cluster_template.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/stats.py to stats.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/federation.py to federation.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/types.py to types.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/certificate.py to certificate.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/quota.py to quota.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/collection.py to collection.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/link.py to link.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/__init__.py to __init__.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/cluster_actions.py to cluster_actions.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/cluster.py to cluster.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/types.py to types.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/magnum_services.py to magnum_services.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/cluster_template.py to cluster_template.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/nodegroup.py to nodegroup.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/versions.py to versions.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/root.py to root.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/validation.py to validation.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/base.py to base.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/expose.py to expose.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/app.py to app.cpython-312.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/attr_validator.py to attr_validator.cpython-312.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/servicegroup.py to servicegroup.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/status.py to status.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/api.py to api.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/driver_manage.py to driver_manage.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/conductor.py to conductor.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/db_manage.py to db_manage.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/base.py to base.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/fields.py to fields.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/x509keypair.py to x509keypair.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/quota.py to quota.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/magnum_service.py to magnum_service.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/nodegroup.py to nodegroup.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/cluster.py to cluster.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/certificate.py to certificate.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/cluster_template.py to cluster_template.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/stats.py to stats.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/federation.py to federation.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common/cert_manager.py to cert_manager.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common/trust_manager.py to trust_manager.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/federation_conductor.py to federation_conductor.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/ca_conductor.py to ca_conductor.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/indirection_api.py to indirection_api.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/cluster_conductor.py to cluster_conductor.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/conductor_listener.py to conductor_listener.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/nodegroup_conductor.py to nodegroup_conductor.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/scale_manager.py to scale_manager.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/api.py to api.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/utils.py to utils.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks/heat_tasks.py to heat_tasks.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/monitors.py to monitors.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/k8s_api.py to k8s_api.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/k8s_scale_manager.py to k8s_scale_manager.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/k8s_monitor.py to k8s_monitor.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/driver.py to driver.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/version.py to version.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/driver.py to driver.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/template_def.py to template_def.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/k8s_fedora_template_def.py to k8s_fedora_template_def.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/k8s_template_def.py to k8s_template_def.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/__init__.py to __init__.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/k8s_coreos_template_def.py to k8s_coreos_template_def.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/driver.py to driver.cpython-312.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/template_def.py to template_def.cpython-312.pyc running install_data creating /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/etc/magnum copying etc/magnum/api-paste.ini -> /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/etc/magnum @@ -4906,406 +4946,406 @@ !! check.warn(importable) running install_lib -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/version.py to version.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/opts.py to opts.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/api.py to api.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/utils.py to utils.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/heat.py to heat.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/magnum_client.py to magnum_client.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/glance.py to glance.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/docker_registry.py to docker_registry.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/rpc.py to rpc.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/quota.py to quota.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/barbican.py to barbican.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/opts.py to opts.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/x509.py to x509.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/trust.py to trust.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/cluster.py to cluster.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/cluster_templates.py to cluster_templates.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/paths.py to paths.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/certificates.py to certificates.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/drivers.py to drivers.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/octavia.py to octavia.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/cluster_heat.py to cluster_heat.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/rpc.py to rpc.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/nova.py to nova.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/cluster.py to cluster.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/glance.py to glance.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/database.py to database.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/x509.py to x509.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/cinder.py to cinder.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/kubernetes.py to kubernetes.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/database.py to database.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/neutron.py to neutron.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/heat.py to heat.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/octavia.py to octavia.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/profiler.py to profiler.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/conductor.py to conductor.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/drivers.py to drivers.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/docker.py to docker.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/trust.py to trust.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/cluster_templates.py to cluster_templates.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/paths.py to paths.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/kubernetes.py to kubernetes.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/utils.py to utils.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/nova.py to nova.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/services.py to services.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/barbican.py to barbican.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/docker.py to docker.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/profiler.py to profiler.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/keystone.py to keystone.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/magnum_client.py to magnum_client.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/docker_registry.py to docker_registry.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/base.py to base.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/utils.py to utils.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/api.py to api.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/db_manage.py to db_manage.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/driver_manage.py to driver_manage.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/status.py to status.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/conductor.py to conductor.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/policy_fixture.py to policy_fixture.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/test_hacking.py to test_hacking.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conf/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conf/test_conf.py to test_conf.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/template/test_template.py to test_template.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/template/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_neutron.py to test_neutron.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_rpc.py to test_rpc.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_short_id.py to test_short_id.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_clients.py to test_clients.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_policy.py to test_policy.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/test_cert_manager.py to test_cert_manager.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/test_barbican.py to test_barbican.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/test_local.py to test_local.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/test_x509keypair_cert_manager.py to test_x509keypair_cert_manager.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_conductor.py to test_conductor.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_db_manage.py to test_db_manage.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_status.py to test_status.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_driver_manage.py to test_driver_manage.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_api.py to test_api.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/service/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/service/test_periodic.py to test_periodic.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_cluster.py to test_cluster.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_nodegroup.py to test_nodegroup.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_magnum_service.py to test_magnum_service.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_cluster_template.py to test_cluster_template.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_objects.py to test_objects.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_federation.py to test_federation.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_fields.py to test_fields.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/utils.py to utils.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_x509keypair.py to test_x509keypair.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_service.py to test_service.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_exception.py to test_exception.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509/test_sign.py to test_sign.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509/test_operations.py to test_operations.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509/test_validator.py to test_validator.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_octavia.py to test_octavia.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_profiler.py to test_profiler.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_exception.py to test_exception.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/base.py to base.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_federation_policy.py to test_federation_policy.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_utils.py to test_utils.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_magnum_service_policy.py to test_magnum_service_policy.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_cluster_policy.py to test_cluster_policy.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_quota_policy.py to test_quota_policy.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_stats_policy.py to test_stats_policy.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_cluster_template_policy.py to test_cluster_template_policy.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_cluster_policy.py to test_cluster_policy.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_certificate_policy.py to test_certificate_policy.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_nodegroup_policy.py to test_nodegroup_policy.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_quota_policy.py to test_quota_policy.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_context.py to test_context.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_service.py to test_service.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_utils.py to test_utils.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509/test_validator.py to test_validator.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509/test_operations.py to test_operations.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509/test_sign.py to test_sign.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_urlfetch.py to test_urlfetch.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_certificate_policy.py to test_certificate_policy.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/base.py to base.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_federation_policy.py to test_federation_policy.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_short_id.py to test_short_id.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_keystone.py to test_keystone.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/base.py to base.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_urlfetch.py to test_urlfetch.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_neutron.py to test_neutron.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/test_local.py to test_local.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/test_x509keypair_cert_manager.py to test_x509keypair_cert_manager.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/test_cert_manager.py to test_cert_manager.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/test_barbican.py to test_barbican.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_policy.py to test_policy.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_rpc.py to test_rpc.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_clients.py to test_clients.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_context.py to test_context.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_cluster.py to test_cluster.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_nodegroup.py to test_nodegroup.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_magnum_service.py to test_magnum_service.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/sqlalchemy/test_types.py to test_types.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/sqlalchemy/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/utils.py to utils.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/sqlalchemy/test_types.py to test_types.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_quota.py to test_quota.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_x509keypair.py to test_x509keypair.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_cluster.py to test_cluster.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_federation.py to test_federation.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_cluster_template.py to test_cluster_template.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/servicegroup/test_magnum_service.py to test_magnum_service.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/base.py to base.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_federation.py to test_federation.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/utils.py to utils.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_x509keypair.py to test_x509keypair.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers/test_template_definition.py to test_template_definition.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers/test_heat_driver.py to test_heat_driver.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/servicegroup/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/service/test_periodic.py to test_periodic.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/service/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/base.py to base.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_servicegroup.py to test_servicegroup.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_expose.py to test_expose.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/utils.py to utils.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_hooks.py to test_hooks.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_attr_validator.py to test_attr_validator.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_validation.py to test_validation.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_app.py to test_app.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/test_base.py to test_base.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_nodegroup.py to test_nodegroup.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_magnum_service.py to test_magnum_service.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_certificate.py to test_certificate.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_cluster_actions.py to test_cluster_actions.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_stats.py to test_stats.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_quota.py to test_quota.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_types.py to test_types.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_utils.py to test_utils.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_cluster.py to test_cluster.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_federation.py to test_federation.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_cluster_template.py to test_cluster_template.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/test_root.py to test_root.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_driver_manage.py to test_driver_manage.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_status.py to test_status.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_db_manage.py to test_db_manage.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_conductor.py to test_conductor.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_api.py to test_api.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_nodegroup.py to test_nodegroup.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_magnum_service.py to test_magnum_service.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/utils.py to utils.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_fields.py to test_fields.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_objects.py to test_objects.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_x509keypair.py to test_x509keypair.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_cluster.py to test_cluster.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_federation.py to test_federation.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_cluster_template.py to test_cluster_template.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_ca_conductor.py to test_ca_conductor.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/servicegroup/test_magnum_service.py to test_magnum_service.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_k8s_api.py to test_k8s_api.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_scale_manager.py to test_scale_manager.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_k8s_cluster_conductor.py to test_k8s_cluster_conductor.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_nodegroup_conductor.py to test_nodegroup_conductor.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_ca_conductor.py to test_ca_conductor.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_indirection_api.py to test_indirection_api.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_k8s_cluster_conductor.py to test_k8s_cluster_conductor.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_conductor_listener.py to test_conductor_listener.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common/test_cert_manager.py to test_cert_manager.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common/test_cert_manager.py to test_cert_manager.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common/test_trust_manager.py to test_trust_manager.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_federation_conductor.py to test_federation_conductor.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_cluster_conductor.py to test_cluster_conductor.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_k8s_api.py to test_k8s_api.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_utils.py to test_utils.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_rpcapi.py to test_rpcapi.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/tasks/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/tasks/test_heat_tasks.py to test_heat_tasks.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_scale_manager.py to test_scale_manager.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/tasks/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_monitors.py to test_monitors.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_utils.py to test_utils.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers/test_heat_driver.py to test_heat_driver.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers/test_template_definition.py to test_template_definition.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/fakes.py to fakes.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_fcos/test_k8s_python_client.py to test_k8s_python_client.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_app.py to test_app.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_validation.py to test_validation.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_hooks.py to test_hooks.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_servicegroup.py to test_servicegroup.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/base.py to base.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_expose.py to test_expose.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_attr_validator.py to test_attr_validator.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/utils.py to utils.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_cluster.py to test_cluster.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_nodegroup.py to test_nodegroup.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_magnum_service.py to test_magnum_service.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_quota.py to test_quota.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_cluster_template.py to test_cluster_template.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_utils.py to test_utils.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_cluster_actions.py to test_cluster_actions.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_stats.py to test_stats.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_federation.py to test_federation.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_certificate.py to test_certificate.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_types.py to test_types.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/test_base.py to test_base.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/test_root.py to test_root.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/template/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/template/test_template.py to test_template.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/conf_fixture.py to conf_fixture.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/output_fixture.py to output_fixture.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_fcos/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_fcos/test_k8s_python_client.py to test_k8s_python_client.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/models.py to models.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/client.py to client.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/base.py to base.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/config.py to config.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/datagen.py to datagen.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/client.py to client.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/utils.py to utils.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/models.py to models.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/datagen.py to datagen.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/manager.py to manager.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/base.py to base.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/cluster_client.py to cluster_client.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/magnum_service_client.py to magnum_service_client.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/cert_client.py to cert_client.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/cluster_template_client.py to cluster_template_client.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s/test_magnum_python_client.py to test_magnum_python_client.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s/test_k8s_python_client.py to test_k8s_python_client.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/python_client_base.py to python_client_base.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_ironic/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_ironic/test_k8s_python_client.py to test_k8s_python_client.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/cluster_model.py to cluster_model.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/cluster_id_model.py to cluster_id_model.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/cluster_template_model.py to cluster_template_model.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/cert_model.py to cert_model.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/cluster_templatepatch_model.py to cluster_templatepatch_model.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/cluster_model.py to cluster_model.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/clusterpatch_model.py to clusterpatch_model.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/cert_model.py to cert_model.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/cluster_id_model.py to cluster_id_model.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/magnum_service_model.py to magnum_service_model.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_ironic/test_k8s_python_client.py to test_k8s_python_client.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_ironic/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/python_client_base.py to python_client_base.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s/test_k8s_python_client.py to test_k8s_python_client.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s/test_magnum_python_client.py to test_magnum_python_client.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/cluster_client.py to cluster_client.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/cluster_template_client.py to cluster_template_client.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/cert_client.py to cert_client.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/magnum_service_client.py to magnum_service_client.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/base.py to base.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/base.py to base.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/fakes.py to fakes.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/utils.py to utils.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/fake_notifier.py to fake_notifier.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/policy_fixture.py to policy_fixture.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/output_fixture.py to output_fixture.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/conf_fixture.py to conf_fixture.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/service/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/service/periodic.py to periodic.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking/checks.py to checks.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/i18n.py to i18n.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/config.py to config.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/clients.py to clients.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/short_id.py to short_id.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policy.py to policy.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/name_generator.py to name_generator.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/local_cert_manager.py to local_cert_manager.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/barbican_cert_manager.py to barbican_cert_manager.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/cert_manager.py to cert_manager.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/x509keypair_cert_manager.py to x509keypair_cert_manager.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/utils.py to utils.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/base.py to base.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/quota.py to quota.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/magnum_service.py to magnum_service.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/nodegroup.py to nodegroup.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/cluster.py to cluster.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/certificate.py to certificate.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/cluster_template.py to cluster_template.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/stats.py to stats.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/federation.py to federation.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/version.py to version.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/stats.py to stats.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/federation.py to federation.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/certificate.py to certificate.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/quota.py to quota.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/fields.py to fields.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/cluster.py to cluster.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/base.py to base.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/magnum_service.py to magnum_service.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/x509keypair.py to x509keypair.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/cluster_template.py to cluster_template.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/nodegroup.py to nodegroup.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/exception.py to exception.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/rpc_service.py to rpc_service.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/rpc.py to rpc.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/nova.py to nova.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/context.py to context.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/short_id.py to short_id.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/urlfetch.py to urlfetch.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cinder.py to cinder.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/neutron.py to neutron.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509/operations.py to operations.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509/validator.py to validator.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509/extensions.py to extensions.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509/operations.py to operations.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509/validator.py to validator.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/stats.py to stats.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/federation.py to federation.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/certificate.py to certificate.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/quota.py to quota.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/cluster.py to cluster.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/base.py to base.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/magnum_service.py to magnum_service.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/cluster_template.py to cluster_template.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/nodegroup.py to nodegroup.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/config.py to config.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/clients.py to clients.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/octavia.py to octavia.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/profiler.py to profiler.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/exception.py to exception.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cinder.py to cinder.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/neutron.py to neutron.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/barbican_cert_manager.py to barbican_cert_manager.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/x509keypair_cert_manager.py to x509keypair_cert_manager.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/cert_manager.py to cert_manager.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/local_cert_manager.py to local_cert_manager.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policy.py to policy.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/utils.py to utils.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/context.py to context.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/nova.py to nova.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/service.py to service.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/name_generator.py to name_generator.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/profiler.py to profiler.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/keystone.py to keystone.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/api.py to api.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/api.py to api.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/models.py to models.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/env.py to env.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/68ce16dfd341_add_master_lb_enabled_column_to_baymodel_table.py to 68ce16dfd341_add_master_lb_enabled_column_to_baymodel_table.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/e772b2598d9_add_container_command.py to e772b2598d9_add_container_command.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/ee92b41b8809_create_quotas_table.py to ee92b41b8809_create_quotas_table.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/53882537ac57_add_host_column_to_pod.py to 53882537ac57_add_host_column_to_pod.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/f1d8b0ab8b8d_added_observations_to_cluster_template.py to f1d8b0ab8b8d_added_observations_to_cluster_template.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/95096e2334ee_add_master_lb_enabled_to_cluster.py to 95096e2334ee_add_master_lb_enabled_to_cluster.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/1c1ff5e56048_rename_container_image_id.py to 1c1ff5e56048_rename_container_image_id.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/aa0cc27839af_add_docker_volume_size_to_cluster.py to aa0cc27839af_add_docker_volume_size_to_cluster.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/720f640f43d1_rename_bay_table_to_cluster.py to 720f640f43d1_rename_bay_table_to_cluster.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/592131657ca1_add_coe_column_to_baymodel.py to 592131657ca1_add_coe_column_to_baymodel.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/456126c6c9e9_create_baylock_table.py to 456126c6c9e9_create_baylock_table.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/2ae93c9c6191_add_public_column_to_baymodel_table.py to 2ae93c9c6191_add_public_column_to_baymodel_table.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/085e601a39f6_remove_service.py to 085e601a39f6_remove_service.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/859fb45df249_remove_replication_controller.py to 859fb45df249_remove_replication_controller.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/156ceb17fb0a_add_bay_status_reason.py to 156ceb17fb0a_add_bay_status_reason.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/14328d6a57e3_add_master_count_to_bay.py to 14328d6a57e3_add_master_count_to_bay.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/57fbdf2327a2_remove_baylock.py to 57fbdf2327a2_remove_baylock.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/52bcaf58fecb_add_master_flavor_id_to_cluster.py to 52bcaf58fecb_add_master_flavor_id_to_cluster.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/fb03fdef8919_rename_baymodel_to_clustertemplate.py to fb03fdef8919_rename_baymodel_to_clustertemplate.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/fcb4efee8f8b_add_version_info_to_bay.py to fcb4efee8f8b_add_version_info_to_bay.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/3be65537a94a_add_network_driver_baymodel_column.py to 3be65537a94a_add_network_driver_baymodel_column.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/aa0cc27839af_add_docker_volume_size_to_cluster.py to aa0cc27839af_add_docker_volume_size_to_cluster.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/5977879072a7_add_env_to_container.py to 5977879072a7_add_env_to_container.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/5ad410481b88_rename_insecure.py to 5ad410481b88_rename_insecure.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/3a938526b35d_add_docker_volume_size.py to 3a938526b35d_add_docker_volume_size.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/68ce16dfd341_add_master_lb_enabled_column_to_baymodel_table.py to 68ce16dfd341_add_master_lb_enabled_column_to_baymodel_table.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/05d3e97de9ee_add_volume_driver.py to 05d3e97de9ee_add_volume_driver.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/1afee1db6cd0_add_master_flavor.py to 1afee1db6cd0_add_master_flavor.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/2581ebaf0cb2_initial_migration.py to 2581ebaf0cb2_initial_migration.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/966a99e70ff_add_proxy.py to 966a99e70ff_add_proxy.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/417917e778f5_add_server_type_to_baymodel.py to 417917e778f5_add_server_type_to_baymodel.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/3b6c4c42adb4_add_unique_constraints.py to 3b6c4c42adb4_add_unique_constraints.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/4e263f236334_add_registry_enabled.py to 4e263f236334_add_registry_enabled.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/5d4caa6e0a42_create_trustee_for_each_bay.py to 5d4caa6e0a42_create_trustee_for_each_bay.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/52bcaf58fecb_add_master_flavor_id_to_cluster.py to 52bcaf58fecb_add_master_flavor_id_to_cluster.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/35cff7c86221_add_private_network_to_baymodel.py to 35cff7c86221_add_private_network_to_baymodel.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/859fb45df249_remove_replication_controller.py to 859fb45df249_remove_replication_controller.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/2ace4006498_rename_bay_minions_address.py to 2ace4006498_rename_bay_minions_address.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/40f325033343_add_bay_create_timeout_to_bay.py to 40f325033343_add_bay_create_timeout_to_bay.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/9a1539f1cd2c_add_federation_table.py to 9a1539f1cd2c_add_federation_table.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/c0f832afc4fd_add_driver_to_cluster_template.py to c0f832afc4fd_add_driver_to_cluster_template.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/bc46ba6cf949_add_keypair_to_cluster.py to bc46ba6cf949_add_keypair_to_cluster.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/4ea34a59a64c_add_discovery_url_to_bay.py to 4ea34a59a64c_add_discovery_url_to_bay.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/a0e7c8450ab1_add_labels_to_cluster.py to a0e7c8450ab1_add_labels_to_cluster.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/049f81f6f584_remove_ssh_authorized_key_from_baymodel.py to 049f81f6f584_remove_ssh_authorized_key_from_baymodel.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/47380964133d_add_network_subnet_fip_to_cluster.py to 47380964133d_add_network_subnet_fip_to_cluster.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/c04e925e65c2_nodegroups_v2.py to c04e925e65c2_nodegroups_v2.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/1afee1db6cd0_add_master_flavor.py to 1afee1db6cd0_add_master_flavor.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/f1d8b0ab8b8d_added_observations_to_cluster_template.py to f1d8b0ab8b8d_added_observations_to_cluster_template.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/5793cd26898d_add_bay_status.py to 5793cd26898d_add_bay_status.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/d072f58ab240_modify_x509keypair_table.py to d072f58ab240_modify_x509keypair_table.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/14328d6a57e3_add_master_count_to_bay.py to 14328d6a57e3_add_master_count_to_bay.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/fb03fdef8919_rename_baymodel_to_clustertemplate.py to fb03fdef8919_rename_baymodel_to_clustertemplate.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/461d798132c7_change_cluster_to_support_nodegroups.py to 461d798132c7_change_cluster_to_support_nodegroups.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/2d8657c0cdc_add_bay_uuid.py to 2d8657c0cdc_add_bay_uuid.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/cbbc65a86986_add_health_status_to_cluster.py to cbbc65a86986_add_health_status_to_cluster.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/35cff7c86221_add_private_network_to_baymodel.py to 35cff7c86221_add_private_network_to_baymodel.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/27ad304554e2_adding_magnum_service_functionality.py to 27ad304554e2_adding_magnum_service_functionality.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/d072f58ab240_modify_x509keypair_table.py to d072f58ab240_modify_x509keypair_table.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/3bea56f25597_multi_tenant.py to 3bea56f25597_multi_tenant.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/ac92cbae311c_add_nodegoup_table.py to ac92cbae311c_add_nodegoup_table.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/966a99e70ff_add_proxy.py to 966a99e70ff_add_proxy.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/59e7664a8ba1_add_container_status.py to 59e7664a8ba1_add_container_status.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/2b5f24dd95de_rename_service_port.py to 2b5f24dd95de_rename_service_port.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/1d045384b966_add_insecure_baymodel_attr.py to 1d045384b966_add_insecure_baymodel_attr.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/adc3b7679ae_add_registry_trust_id_to_bay.py to adc3b7679ae_add_registry_trust_id_to_bay.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/1c1ff5e56048_rename_container_image_id.py to 1c1ff5e56048_rename_container_image_id.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/2d8657c0cdc_add_bay_uuid.py to 2d8657c0cdc_add_bay_uuid.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/592131657ca1_add_coe_column_to_baymodel.py to 592131657ca1_add_coe_column_to_baymodel.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/c0f832afc4fd_add_driver_to_cluster_template.py to c0f832afc4fd_add_driver_to_cluster_template.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/7da8489d6a68_separated_ca_cert_for_etcd_and_front_.py to 7da8489d6a68_separated_ca_cert_for_etcd_and_front_.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/05d3e97de9ee_add_volume_driver.py to 05d3e97de9ee_add_volume_driver.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/461d798132c7_change_cluster_to_support_nodegroups.py to 461d798132c7_change_cluster_to_support_nodegroups.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/33ef79969018_add_memory_to_container.py to 33ef79969018_add_memory_to_container.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/5518af8dbc21_rename_cert_uuid.py to 5518af8dbc21_rename_cert_uuid.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/e647f5931da8_add_insecure_registry_to_baymodel.py to e647f5931da8_add_insecure_registry_to_baymodel.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/1481f5b560dd_add_labels_column_to_baymodel_table.py to 1481f5b560dd_add_labels_column_to_baymodel_table.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/e0653b2d5271_add_fixed_subnet_column_to_baymodel_table.py to e0653b2d5271_add_fixed_subnet_column_to_baymodel_table.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/29affeaa2bc2_rename_bay_master_address.py to 29affeaa2bc2_rename_bay_master_address.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/95096e2334ee_add_master_lb_enabled_to_cluster.py to 95096e2334ee_add_master_lb_enabled_to_cluster.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/ef08a5e057bd_remove_pod.py to ef08a5e057bd_remove_pod.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/2ace4006498_rename_bay_minions_address.py to 2ace4006498_rename_bay_minions_address.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/5d4caa6e0a42_create_trustee_for_each_bay.py to 5d4caa6e0a42_create_trustee_for_each_bay.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/bc46ba6cf949_add_keypair_to_cluster.py to bc46ba6cf949_add_keypair_to_cluster.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/9a1539f1cd2c_add_federation_table.py to 9a1539f1cd2c_add_federation_table.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/6f21dc998bb_add_master_addresses_to_bay.py to 6f21dc998bb_add_master_addresses_to_bay.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/049f81f6f584_remove_ssh_authorized_key_from_baymodel.py to 049f81f6f584_remove_ssh_authorized_key_from_baymodel.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/a0e7c8450ab1_add_labels_to_cluster.py to a0e7c8450ab1_add_labels_to_cluster.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/2d1354bbf76e_ssh_authorized_key.py to 2d1354bbf76e_ssh_authorized_key.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/421102d1f2d2_create_x509keypair_table.py to 421102d1f2d2_create_x509keypair_table.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/156ceb17fb0a_add_bay_status_reason.py to 156ceb17fb0a_add_bay_status_reason.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/041d9a0f1159_add_flavor_id_to_cluster.py to 041d9a0f1159_add_flavor_id_to_cluster.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/40f325033343_add_bay_create_timeout_to_bay.py to 40f325033343_add_bay_create_timeout_to_bay.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/b1f612248cab_add_floating_ip_enabled_column_to_.py to b1f612248cab_add_floating_ip_enabled_column_to_.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/53882537ac57_add_host_column_to_pod.py to 53882537ac57_add_host_column_to_pod.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/3bea56f25597_multi_tenant.py to 3bea56f25597_multi_tenant.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/ee92b41b8809_create_quotas_table.py to ee92b41b8809_create_quotas_table.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/87e62e3c7abc_add_hidden_to_cluster_template.py to 87e62e3c7abc_add_hidden_to_cluster_template.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/6f21dc920bb_add_cert_uuid_to_bay.py to 6f21dc920bb_add_cert_uuid_to_bay.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/27ad304554e2_adding_magnum_service_functionality.py to 27ad304554e2_adding_magnum_service_functionality.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/6f21dc998bb_add_master_addresses_to_bay.py to 6f21dc998bb_add_master_addresses_to_bay.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/ac92cbae311c_add_nodegoup_table.py to ac92cbae311c_add_nodegoup_table.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/4e263f236334_add_registry_enabled.py to 4e263f236334_add_registry_enabled.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/bb42b7cad130_remove_node_object.py to bb42b7cad130_remove_node_object.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/421102d1f2d2_create_x509keypair_table.py to 421102d1f2d2_create_x509keypair_table.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/2d1354bbf76e_ssh_authorized_key.py to 2d1354bbf76e_ssh_authorized_key.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/b1f612248cab_add_floating_ip_enabled_column_to_.py to b1f612248cab_add_floating_ip_enabled_column_to_.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/04c625aa95ba_change_storage_driver_to_string.py to 04c625aa95ba_change_storage_driver_to_string.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/5ad410481b88_rename_insecure.py to 5ad410481b88_rename_insecure.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/1f196a3dabae_remove_container.py to 1f196a3dabae_remove_container.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/2b5f24dd95de_rename_service_port.py to 2b5f24dd95de_rename_service_port.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/a1136d335540_add_docker_storage_driver_column.py to a1136d335540_add_docker_storage_driver_column.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/59e7664a8ba1_add_container_status.py to 59e7664a8ba1_add_container_status.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/456126c6c9e9_create_baylock_table.py to 456126c6c9e9_create_baylock_table.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/085e601a39f6_remove_service.py to 085e601a39f6_remove_service.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/33ef79969018_add_memory_to_container.py to 33ef79969018_add_memory_to_container.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/417917e778f5_add_server_type_to_baymodel.py to 417917e778f5_add_server_type_to_baymodel.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/4956f03cabad_add_cluster_distro.py to 4956f03cabad_add_cluster_distro.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/720f640f43d1_rename_bay_table_to_cluster.py to 720f640f43d1_rename_bay_table_to_cluster.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/3b6c4c42adb4_add_unique_constraints.py to 3b6c4c42adb4_add_unique_constraints.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/29affeaa2bc2_rename_bay_master_address.py to 29affeaa2bc2_rename_bay_master_address.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/adc3b7679ae_add_registry_trust_id_to_bay.py to adc3b7679ae_add_registry_trust_id_to_bay.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/5977879072a7_add_env_to_container.py to 5977879072a7_add_env_to_container.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/e647f5931da8_add_insecure_registry_to_baymodel.py to e647f5931da8_add_insecure_registry_to_baymodel.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/3be65537a94a_add_network_driver_baymodel_column.py to 3be65537a94a_add_network_driver_baymodel_column.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/57fbdf2327a2_remove_baylock.py to 57fbdf2327a2_remove_baylock.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/c04e925e65c2_nodegroups_v2.py to c04e925e65c2_nodegroups_v2.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/e0653b2d5271_add_fixed_subnet_column_to_baymodel_table.py to e0653b2d5271_add_fixed_subnet_column_to_baymodel_table.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/5793cd26898d_add_bay_status.py to 5793cd26898d_add_bay_status.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/a1136d335540_add_docker_storage_driver_column.py to a1136d335540_add_docker_storage_driver_column.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/1481f5b560dd_add_labels_column_to_baymodel_table.py to 1481f5b560dd_add_labels_column_to_baymodel_table.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/7da8489d6a68_separated_ca_cert_for_etcd_and_front_.py to 7da8489d6a68_separated_ca_cert_for_etcd_and_front_.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/6f21dc920bb_add_cert_uuid_to_bay.py to 6f21dc920bb_add_cert_uuid_to_bay.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/ef08a5e057bd_remove_pod.py to ef08a5e057bd_remove_pod.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/e772b2598d9_add_container_command.py to e772b2598d9_add_container_command.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/env.py to env.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/models.py to models.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/migration.py to migration.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/api.py to api.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/migration.py to migration.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/template_def.py to template_def.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/version.py to version.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/driver.py to driver.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/k8s_coreos_template_def.py to k8s_coreos_template_def.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/template_def.py to template_def.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/k8s_template_def.py to k8s_template_def.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/k8s_fedora_template_def.py to k8s_fedora_template_def.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/driver.py to driver.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/k8s_monitor.py to k8s_monitor.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/k8s_scale_manager.py to k8s_scale_manager.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/driver.py to driver.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/servicegroup/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/servicegroup/magnum_service_periodic.py to magnum_service_periodic.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking/checks.py to checks.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/service/periodic.py to periodic.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/service/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/config.py to config.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/attr_validator.py to attr_validator.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/http_error.py to http_error.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/utils.py to utils.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/app.py to app.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/expose.py to expose.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/hooks.py to hooks.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/api.py to api.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/scale_manager.py to scale_manager.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/conductor_listener.py to conductor_listener.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/federation_conductor.py to federation_conductor.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common/cert_manager.py to cert_manager.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common/trust_manager.py to trust_manager.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/nodegroup_conductor.py to nodegroup_conductor.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/cluster_conductor.py to cluster_conductor.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/indirection_api.py to indirection_api.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/ca_conductor.py to ca_conductor.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/monitors.py to monitors.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/k8s_api.py to k8s_api.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks/heat_tasks.py to heat_tasks.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/utils.py to utils.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/versioned_method.py to versioned_method.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/http_error.py to http_error.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/validation.py to validation.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware/auth_token.py to auth_token.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware/parsable_error.py to parsable_error.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/base.py to base.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/versions.py to versions.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/quota.py to quota.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/magnum_services.py to magnum_services.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/nodegroup.py to nodegroup.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/cluster_actions.py to cluster_actions.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/cluster.py to cluster.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/certificate.py to certificate.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/config.py to config.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/hooks.py to hooks.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/utils.py to utils.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/link.py to link.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/cluster_template.py to cluster_template.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/stats.py to stats.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/federation.py to federation.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/types.py to types.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/certificate.py to certificate.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/quota.py to quota.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/collection.py to collection.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/link.py to link.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/cluster_actions.py to cluster_actions.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/cluster.py to cluster.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/types.py to types.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/magnum_services.py to magnum_services.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/cluster_template.py to cluster_template.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/nodegroup.py to nodegroup.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/versions.py to versions.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/root.py to root.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/validation.py to validation.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/base.py to base.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/expose.py to expose.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/app.py to app.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/attr_validator.py to attr_validator.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/servicegroup.py to servicegroup.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/status.py to status.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/api.py to api.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/driver_manage.py to driver_manage.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/conductor.py to conductor.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/db_manage.py to db_manage.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/base.py to base.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/fields.py to fields.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/x509keypair.py to x509keypair.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/quota.py to quota.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/magnum_service.py to magnum_service.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/nodegroup.py to nodegroup.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/cluster.py to cluster.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/certificate.py to certificate.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/cluster_template.py to cluster_template.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/stats.py to stats.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/federation.py to federation.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common/cert_manager.py to cert_manager.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common/trust_manager.py to trust_manager.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/federation_conductor.py to federation_conductor.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/ca_conductor.py to ca_conductor.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/indirection_api.py to indirection_api.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/cluster_conductor.py to cluster_conductor.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/conductor_listener.py to conductor_listener.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/nodegroup_conductor.py to nodegroup_conductor.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/scale_manager.py to scale_manager.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/api.py to api.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/utils.py to utils.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks/heat_tasks.py to heat_tasks.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/monitors.py to monitors.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/k8s_api.py to k8s_api.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/k8s_scale_manager.py to k8s_scale_manager.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/k8s_monitor.py to k8s_monitor.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/driver.py to driver.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/version.py to version.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/driver.py to driver.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/template_def.py to template_def.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/k8s_fedora_template_def.py to k8s_fedora_template_def.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/k8s_template_def.py to k8s_template_def.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/k8s_coreos_template_def.py to k8s_coreos_template_def.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/driver.py to driver.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/template_def.py to template_def.cpython-313.pyc running install_data running install_egg_info removing '/build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum-19.0.0.egg-info' (and everything under it) @@ -5328,33 +5368,44 @@ + PYTHON3S=disabled + TEST_PARALLEL_OPT=--parallel + TEST_SERIAL_OPT= -+ echo WARNING: --no-py2 is deprecated, and always on. ++ for i in $@ ++ case "${1}" in ++ echo 'WARNING: --no-py2 is deprecated, and always on.' WARNING: --no-py2 is deprecated, and always on. + shift -+ py3versions -vr -+ PYTHON3S=3.12 3.13 -+ [ yes = no ] -+ [ no = yes ] -+ [ 3.12 = disabled ] -+ echo 3.12 -+ cut -d. -f1 ++ for i in $@ ++ case "${1}" in ++ for i in $@ ++ case "${1}" in ++ for i in $@ ++ case "${1}" in +++ py3versions -vr ++ PYTHON3S='3.12 3.13' ++ '[' yes = no ']' ++ '[' no = yes ']' ++ for pyvers in ${PYTHON3S} ++ '[' 3.12 = disabled ']' +++ echo 3.12 +++ cut -d. -f1 + PYMAJOR=3 -+ echo ===> Testing with python (python3) ++ echo '===> Testing with python (python3)' ===> Testing with python (python3) -+ pwd -+ [ -d /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages ] -+ [ -z ] -+ pwd -+ echo Implicitly adding PYTHONPATH=/build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages +++ pwd ++ '[' -d /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages ']' ++ '[' -z '' ']' +++ pwd ++ echo 'Implicitly adding PYTHONPATH=/build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages' Implicitly adding PYTHONPATH=/build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages -+ pwd +++ pwd + export PYTHONPATH=/build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages -+ [ -e .stestr.conf ] -+ [ -x /usr/bin/python3-stestr ] ++ PYTHONPATH=/build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages ++ '[' -e .stestr.conf ']' ++ '[' -x /usr/bin/python3-stestr ']' + STESTR=stestr + rm -rf .stestr -+ PYTHON=python3.12 stestr run --parallel --subunit --concurrency 2 magnum\.tests\.unit\.(?!(drivers\.test_heat_driver\.TestHeatPoller\.test_poll_done|drivers\.test_heat_driver\.TestHeatPoller\.test_poll_destroy|api\.controllers\.v1\.test_baymodel\.TestPatch|api\.controllers\.v1\.test_baymodel\.TestPost|api\.controllers\.v1\.test_cluster_template\.TestPost|api\.controllers\.v1\.test_cluster_template\.TestListClusterTemplate|api\.controllers\.v1\.test_cluster_template\.TestPatch\.test_update_cluster_template_with_cluster_not_allow_update|api\.controllers\.v1\.test_federation\.TestListFederation\.test_collection_links|api\.controllers\.v1\.test_federation\.TestPost\.test_create_federation_with_valid_name)) + subunit2pyunit ++ PYTHON=python3.12 ++ stestr run --parallel --subunit --concurrency 2 'magnum\.tests\.unit\.(?!(drivers\.test_heat_driver\.TestHeatPoller\.test_poll_done|drivers\.test_heat_driver\.TestHeatPoller\.test_poll_destroy|api\.controllers\.v1\.test_baymodel\.TestPatch|api\.controllers\.v1\.test_baymodel\.TestPost|api\.controllers\.v1\.test_cluster_template\.TestPost|api\.controllers\.v1\.test_cluster_template\.TestListClusterTemplate|api\.controllers\.v1\.test_cluster_template\.TestPatch\.test_update_cluster_template_with_cluster_not_allow_update|api\.controllers\.v1\.test_federation\.TestListFederation\.test_collection_links|api\.controllers\.v1\.test_federation\.TestPost\.test_create_federation_with_valid_name))' 3 RLock(s) were not greened, to fix this error make sure you run eventlet.monkey_patch() before importing any other modules. 3 RLock(s) were not greened, to fix this error make sure you run eventlet.monkey_patch() before importing any other modules. 3 RLock(s) were not greened, to fix this error make sure you run eventlet.monkey_patch() before importing any other modules. @@ -5370,31 +5421,45 @@ magnum.tests.unit.api.controllers.test_base.TestController.test_controller_get_attr_version_not_found ... ok magnum.tests.unit.api.controllers.test_base.TestController.test_controller_get_attribute magnum.tests.unit.api.controllers.test_base.TestController.test_controller_get_attribute ... ok +magnum.tests.unit.api.controllers.test_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 magnum.tests.unit.api.controllers.test_base.TestVersion.test__eq__with_equal magnum.tests.unit.api.controllers.test_base.TestVersion.test__eq__with_equal ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test__eq__with_unequal magnum.tests.unit.api.controllers.test_base.TestVersion.test__eq__with_unequal ... 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_base.TestVersion.test__ge__with_equal magnum.tests.unit.api.controllers.test_base.TestVersion.test__ge__with_equal ... 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 magnum.tests.unit.api.controllers.test_base.TestVersion.test__ge__with_lower_version ... ok +magnum.tests.unit.api.controllers.test_root.TestHeathcheck.test_healthcheck_enabled +magnum.tests.unit.api.controllers.test_root.TestHeathcheck.test_healthcheck_enabled ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test__gt__with_higher_major_version magnum.tests.unit.api.controllers.test_base.TestVersion.test__gt__with_higher_major_version ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test__gt__with_higher_minor_version magnum.tests.unit.api.controllers.test_base.TestVersion.test__gt__with_higher_minor_version ... ok +magnum.tests.unit.api.controllers.test_root.TestV1Routing.test_route_checks_version +magnum.tests.unit.api.controllers.test_root.TestV1Routing.test_route_checks_version ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test__gt__with_lower_major_version magnum.tests.unit.api.controllers.test_base.TestVersion.test__gt__with_lower_major_version ... ok -INFO [alembic.runtime.migration] Running stamp_revision -> c0f832afc4fd 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.TestCertObject.test_cert_init +magnum.tests.unit.api.controllers.v1.test_certificate.TestCertObject.test_cert_init ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test__le__with_equal magnum.tests.unit.api.controllers.test_base.TestVersion.test__le__with_equal ... ok -magnum.tests.unit.api.controllers.test_root.TestV1Routing.test_route_checks_version -magnum.tests.unit.api.controllers.test_root.TestV1Routing.test_route_checks_version ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test__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 @@ -5409,20 +5474,20 @@ 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 magnum.tests.unit.api.controllers.test_base.TestVersion.test__ne__with_equal ... 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.test_base.TestVersion.test__ne__with_unequal 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_certificate.TestRotateCaCertificateNonTls.test_rotate_ca_cert_non_tls -magnum.tests.unit.api.controllers.v1.test_certificate.TestRotateCaCertificateNonTls.test_rotate_ca_cert_non_tls ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test_is_null_false magnum.tests.unit.api.controllers.test_base.TestVersion.test_is_null_false ... 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_is_null_true magnum.tests.unit.api.controllers.test_base.TestVersion.test_is_null_true ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test_matches_end_version magnum.tests.unit.api.controllers.test_base.TestVersion.test_matches_end_version ... ok +magnum.tests.unit.api.controllers.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.test_base.TestVersion.test_matches_null_version magnum.tests.unit.api.controllers.test_base.TestVersion.test_matches_null_version ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test_matches_start_version @@ -5433,67 +5498,91 @@ magnum.tests.unit.api.controllers.test_base.TestVersion.test_matches_version_too_high ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test_matches_version_too_low magnum.tests.unit.api.controllers.test_base.TestVersion.test_matches_version_too_low ... ok -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.test_base.TestVersion.test_parse_headers_bad_length magnum.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_bad_length ... ok +magnum.tests.unit.api.controllers.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.test_base.TestVersion.test_parse_headers_latest magnum.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_latest ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_ok magnum.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_ok ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test_parse_incorrect_service_type magnum.tests.unit.api.controllers.test_base.TestVersion.test_parse_incorrect_service_type ... ok -magnum.tests.unit.api.controllers.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.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_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.test_base.TestVersion.test_repr magnum.tests.unit.api.controllers.test_base.TestVersion.test_repr ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_detail -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_detail ... ok magnum.tests.unit.api.controllers.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.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.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 -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.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_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 INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. -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 INFO [alembic.runtime.migration] Running stamp_revision -> c0f832afc4fd -magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster -magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster ... ok -magnum.tests.unit.api.controllers.test_root.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_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.v1.test_cluster.TestDelete.test_delete_cluster_as_admin -magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster_as_admin ... ok magnum.tests.unit.api.controllers.test_root.TestRootController.test_api_paste_file_not_exist_not_abs magnum.tests.unit.api.controllers.test_root.TestRootController.test_api_paste_file_not_exist_not_abs ... ok magnum.tests.unit.api.controllers.test_root.TestRootController.test_auth_with_no_public_routes magnum.tests.unit.api.controllers.test_root.TestRootController.test_auth_with_no_public_routes ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_create +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_create ... ok magnum.tests.unit.api.controllers.test_root.TestRootController.test_auth_with_root_access magnum.tests.unit.api.controllers.test_root.TestRootController.test_auth_with_root_access ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_delete +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_delete ... ok +magnum.tests.unit.api.controllers.test_root.TestRootController.test_auth_with_v1_access +magnum.tests.unit.api.controllers.test_root.TestRootController.test_auth_with_v1_access ... ok +magnum.tests.unit.api.controllers.test_root.TestRootController.test_get_not_found +magnum.tests.unit.api.controllers.test_root.TestRootController.test_get_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_detail +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_detail ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_get_all +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_get_all ... ok +magnum.tests.unit.api.controllers.test_root.TestRootController.test_noauth +magnum.tests.unit.api.controllers.test_root.TestRootController.test_noauth ... 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.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.test_root.TestRootController.test_version +magnum.tests.unit.api.controllers.test_root.TestRootController.test_version ... 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.TestCertPolicyEnforcement.test_policy_disallow_get_one +magnum.tests.unit.api.controllers.v1.test_certificate.TestCertPolicyEnforcement.test_policy_disallow_get_one ... ok GET: /v1/ {} GOT:{'id': 'v1', 'media_types': [{'base': 'application/json', 'type': 'application/vnd.openstack.magnum.v1+json'}], 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}, {'href': 'http://docs.openstack.org/developer/magnum/dev/api-spec-v1.html', 'rel': 'describedby', 'type': 'text/html'}], 'clustertemplates': [{'href': 'http://localhost/v1/clustertemplates/', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/', 'rel': 'bookmark'}], 'clusters': [{'href': 'http://localhost/v1/clusters/', 'rel': 'self'}, {'href': 'http://localhost/clusters/', 'rel': 'bookmark'}], 'quotas': [{'href': 'http://localhost/v1/quotas/', 'rel': 'self'}, {'href': 'http://localhost/quotas/', 'rel': 'bookmark'}], 'certificates': [{'href': 'http://localhost/v1/certificates/', 'rel': 'self'}, {'href': 'http://localhost/certificates/', 'rel': 'bookmark'}], 'mservices': [{'href': 'http://localhost/v1/mservices/', 'rel': 'self'}, {'href': 'http://localhost/mservices/', 'rel': 'bookmark'}], 'stats': [{'href': 'http://localhost/v1/stats/', 'rel': 'self'}, {'href': 'http://localhost/stats/', 'rel': 'bookmark'}], 'federations': [{'href': 'http://localhost/v1/federations/', 'rel': 'self'}, {'href': 'http://localhost/federations/', 'rel': 'bookmark'}], 'nodegroups': [{'href': 'http://localhost/v1/clusters/{cluster_id}/nodegroups', 'rel': 'self'}, {'href': 'http://localhost/clusters/{cluster_id}/nodegroups', 'rel': 'bookmark'}]} +GET: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} +GET: /v1/certificates/cluster1 {} +GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} +GET: /v1/certificates/test_cluster {} +GOT:Response: 409 Conflict +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Multiple clusters exist with same name", "detail": "Multiple clusters exist with same name. Please use the cluster uuid instead.", "links": []}]} +GET: /v1/certificates/not_found {} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not_found could not be found", "detail": "Cluster not_found could not be found.", "links": []}]} +GET: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} +GET: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} +GET: /certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} PATCH: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} GOT:Response: 400 Bad Request Content-Type: application/json @@ -5518,7 +5607,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/cc0c57c3-6f31-4a30-bfea-2e9de35a7615/detail {} +GET: /v1/clusters/9db255a1-df30-44db-8478-1570b19de330/detail {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 @@ -5549,31 +5638,106 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:update to be performed", "detail": "Policy doesn't allow cluster:update to be performed.", "links": []}]} -DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 +{"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": []}]}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_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_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_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.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_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.TestPatch.test_add_non_existent_property +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_add_non_existent_property ... ok +magnum.tests.unit.api.controllers.v1.test_certificate.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.TestClusterObject.test_cluster_init +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterObject.test_cluster_init ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_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.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.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.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.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 +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.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_multiple_cluster_by_name +magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_multiple_cluster_by_name ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.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 +POST: /v1/certificates {'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'csr': 'fake-csr', 'pem': 'fake-pem'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:delete to be performed", "detail": "Policy doesn't allow cluster:delete to be performed.", "links": []}]} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow certificate:create to be performed", "detail": "Policy doesn't allow certificate:create to be performed.", "links": []}]} +GET: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:get to be performed", "detail": "Policy doesn't allow cluster:get to be performed.", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/name', 'value': 'new_name', 'op': 'replace'}] +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow certificate:get to be performed", "detail": "Policy doesn't allow certificate:get to be performed.", "links": []}]} +PATCH: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"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": []}]} +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow certificate:rotate_ca to be performed", "detail": "Policy doesn't allow certificate:rotate_ca to be performed.", "links": []}]} +POST: /v1/certificates {'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'csr': 'fake-csr'} +GOT:Response: 201 Created +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"cluster_uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "links": [{"href": "http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "rel": "self"}, {"href": "http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "rel": "bookmark"}], "csr": "fake-csr", "pem": "fake-pem"} +POST: /v1/certificates {'cluster_uuid': 'cluster1', 'csr': 'fake-csr'} +GOT:Response: 201 Created +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"cluster_uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "links": [{"href": "http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "rel": "self"}, {"href": "http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "rel": "bookmark"}], "csr": "fake-csr", "pem": "fake-pem"} +POST: /v1/certificates {'cluster_uuid': 'not_found', 'csr': 'fake-csr'} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Cluster not_found could not be found", "detail": "Cluster not_found could not be found.", "links": []}]} +PATCH: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 GOT:Response: 204 No Content Openstack-Api-Maximum-Version: container-infra 1.11 @@ -5589,77 +5753,21 @@ 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/94d7671d-73cf-4279-956b-a19daef81bd2 +DELETE: /v1/clusters/e2d61482-4c8f-4a6a-a2a8-c07e616b765b GOT:Response: 204 No Content Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -DELETE: /v1/clusters/47057b0c-54a0-4425-ac19-8021685790a6 +DELETE: /v1/clusters/8fa20109-d7fa-4924-b019-fb38bccc9a33 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 47057b0c-54a0-4425-ac19-8021685790a6 could not be found", "detail": "Cluster 47057b0c-54a0-4425-ac19-8021685790a6 could not be found.", "links": []}]}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 -magnum.tests.unit.api.controllers.test_root.TestRootController.test_auth_with_v1_access -magnum.tests.unit.api.controllers.test_root.TestRootController.test_auth_with_v1_access ... ok -magnum.tests.unit.api.controllers.test_root.TestRootController.test_get_not_found -magnum.tests.unit.api.controllers.test_root.TestRootController.test_get_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster_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 -magnum.tests.unit.api.controllers.test_root.TestRootController.test_noauth -magnum.tests.unit.api.controllers.test_root.TestRootController.test_noauth ... ok -magnum.tests.unit.api.controllers.test_root.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.v1.test_certificate.TestCertObject.test_cert_init -magnum.tests.unit.api.controllers.v1.test_certificate.TestCertObject.test_cert_init ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_master_nodegroup -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_master_nodegroup ... ok -magnum.tests.unit.api.controllers.v1.test_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_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_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_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_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 -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_nodegroup -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_nodegroup ... ok -magnum.tests.unit.api.controllers.v1.test_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.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_certificate.TestGetCaCertificate.test_get_one_by_name_multiple_cluster -magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one_by_name_multiple_cluster ... ok -magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one_by_name_not_found -magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one_by_name_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_cluster_as_admin -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_cluster_as_admin ... ok -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.TestPost.test_create_cert -magnum.tests.unit.api.controllers.v1.test_certificate.TestPost.test_create_cert ... ok - +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 8fa20109-d7fa-4924-b019-fb38bccc9a33 could not be found", "detail": "Cluster 8fa20109-d7fa-4924-b019-fb38bccc9a33 could not be found.", "links": []}]} DELETE: /v1/clusters/cluster1 GOT:Response: 204 No Content Openstack-Api-Maximum-Version: container-infra 1.11 @@ -5683,1375 +5791,1022 @@ 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/resize {'node_count': 6} -GOT:Response: 202 Accepted +GET: /v1/clusters/?limit=3 {} +GOT:{'clusters': [{'uuid': '3db4860b-6dc3-407e-888d-148696ae7579', '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/3db4860b-6dc3-407e-888d-148696ae7579', 'rel': 'self'}, {'href': 'http://localhost/clusters/3db4860b-6dc3-407e-888d-148696ae7579', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '93d554e4-0116-4e18-803a-91c14202f333', '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/93d554e4-0116-4e18-803a-91c14202f333', 'rel': 'self'}, {'href': 'http://localhost/clusters/93d554e4-0116-4e18-803a-91c14202f333', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '990e9460-c8e2-4905-9380-639bd221e015', '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/990e9460-c8e2-4905-9380-639bd221e015', 'rel': 'self'}, {'href': 'http://localhost/clusters/990e9460-c8e2-4905-9380-639bd221e015', '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=990e9460-c8e2-4905-9380-639bd221e015'}magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_collection_links +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_collection_links ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_collection_links_default_limit +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_collection_links_default_limit ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail ... ok + +DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 +GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.7 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:delete to be performed", "detail": "Policy doesn't allow cluster:delete to be performed.", "links": []}]} GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 6, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-16T23:36:31.692026+00:00', 'updated_at': None} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 6, 'nodegroup': '52c03556-924e-42f3-b58d-d8fde1a33e7c'} +GOT:Response: 403 Forbidden +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:get to be performed", "detail": "Policy doesn't allow cluster:get to be performed.", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/name', 'value': 'new_name', 'op': 'replace'}] +GOT:Response: 403 Forbidden +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:update to be performed", "detail": "Policy doesn't allow cluster:update to be performed.", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing a master nodegroup is not supported", "detail": "Resizing a master nodegroup is not supported.", "links": []}]} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 6, 'nodegroup': '895a748f-f6eb-4a33-a38a-ea8bb8536b82'} +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Adding a new attribute /foo to the root of the resource is not allowed", "detail": "Adding a new attribute /foo to the root of the resource is not allowed.", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.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': '52225ef1-1e97-4ad7-b444-90c4e0b32382'} +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/uuid' is an internal attribute and can not be updated", "detail": "'/uuid' is an internal attribute and can not be updated", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/cluster_template_id', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.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': 'c9fb128f-3feb-4837-afdc-ccf7869c3e28'} +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/cluster_template_id' is a mandatory attribute and can not be removed", "detail": "'/cluster_template_id' is a mandatory attribute and can not be removed", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/non-existent', 'op': 'remove'}] +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Couldn't apply patch '[{'path': '/non-existent', 'op': 'remove'}]'", "detail": "Couldn't apply patch '[{'path': '/non-existent', 'op': 'remove'}]'. Reason: can't remove a non-existent object 'non-existent'", "links": []}]} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'UNKNOWN', 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-14T17:23:40.830300+00:00', 'updated_at': None} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/node_count', 'op': 'remove'}] GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 +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': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-16T23:36:31.800561+00:00', 'updated_at': None} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 0, 'nodegroup': 'f27a6f15-ecf4-4cd4-817d-8a9ef2845df4'} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 1, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'UPDATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'UNKNOWN', 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-14T17:23:40.830300+00:00', 'updated_at': '2025-01-14T17:23:40.951884+00:00'} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/name', 'value': 'cluster_example_B', 'op': 'replace'}] +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "cannot change cluster property(ies) name", "detail": "cannot change cluster property(ies) name.", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/cluster_template_id', 'value': '4618fac1-9ecf-42d0-a9e9-1c25d9c0c420', 'op': 'replace'}] +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "cannot change cluster property(ies) cluster_template_id", "detail": "cannot change cluster property(ies) cluster_template_id.", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/health_status', 'value': 'HEALTHY', 'op': 'replace'}, {'path': '/health_status_reason', 'value': '{"api": "ok"}', 'op': 'replace'}]magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail_against_single +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail_against_single ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_health_status_ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_health_status_ok ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.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_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.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_non_existent_cluster +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_non_existent_cluster ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_all_with_all_projects +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_all_with_all_projects ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_non_existent_cluster_template_id +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_non_existent_cluster_template_id ... ok + +GET: /v1/clusters {} +GOT:{'clusters': [{'uuid': '7f64cdfc-4837-42c7-b4f8-515660ef2749', '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/7f64cdfc-4837-42c7-b4f8-515660ef2749', 'rel': 'self'}, {'href': 'http://localhost/clusters/7f64cdfc-4837-42c7-b4f8-515660ef2749', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'cf32da89-18a2-4e57-83bb-71dc30c641ec', '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/cf32da89-18a2-4e57-83bb-71dc30c641ec', 'rel': 'self'}, {'href': 'http://localhost/clusters/cf32da89-18a2-4e57-83bb-71dc30c641ec', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '69faa096-06b7-4dea-ab86-da1a00adc479', '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/69faa096-06b7-4dea-ab86-da1a00adc479', 'rel': 'self'}, {'href': 'http://localhost/clusters/69faa096-06b7-4dea-ab86-da1a00adc479', '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=69faa096-06b7-4dea-ab86-da1a00adc479'} +GET: /v1/clusters/detail {} +GOT:{'clusters': [{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-14T17:23:41.282142+00:00', 'updated_at': None}]} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/detail {} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "The %(name)s resource %(id)s could not be found", "detail": "The %(name)s resource %(id)s could not be found.", "links": []}]} +GET: /v1/clusters/detail?limit=3&marker=10a21352-f9be-4d1b-9156-b78d39f19f06 {} +GOT:{'clusters': [{'uuid': '9cca760d-2943-48d6-ae5c-d83f073a7718', '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/9cca760d-2943-48d6-ae5c-d83f073a7718', 'rel': 'self'}, {'href': 'http://localhost/clusters/9cca760d-2943-48d6-ae5c-d83f073a7718', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-14T17:23:41.406878+00:00', 'updated_at': None}]} +GET: /v1/clusters {} +GOT:{'clusters': []} +GET: /v1/clusters {} +GOT:{'clusters': [{'uuid': '97b8b072-a69d-4d55-bbb5-9b4250e13ccc', '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/97b8b072-a69d-4d55-bbb5-9b4250e13ccc', 'rel': 'self'}, {'href': 'http://localhost/clusters/97b8b072-a69d-4d55-bbb5-9b4250e13ccc', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '9bd936b9-6ed2-4c56-87a5-8f04e4a3d462', '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/9bd936b9-6ed2-4c56-87a5-8f04e4a3d462', 'rel': 'self'}, {'href': 'http://localhost/clusters/9bd936b9-6ed2-4c56-87a5-8f04e4a3d462', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'ff2cf13d-dbe4-402e-acd8-186cec1f19cd', '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/ff2cf13d-dbe4-402e-acd8-186cec1f19cd', 'rel': 'self'}, {'href': 'http://localhost/clusters/ff2cf13d-dbe4-402e-acd8-186cec1f19cd', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '07059737-2997-429c-950d-8531cb46a604', '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/07059737-2997-429c-950d-8531cb46a604', 'rel': 'self'}, {'href': 'http://localhost/clusters/07059737-2997-429c-950d-8531cb46a604', '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=10bfad15-7da5-4570-83f4-8db77bcf212c {} +GOT:{'clusters': [{'uuid': '87ba3a2a-8514-464b-8e46-4e3026d0208f', '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/87ba3a2a-8514-464b-8e46-4e3026d0208f', 'rel': 'self'}, {'href': 'http://localhost/clusters/87ba3a2a-8514-464b-8e46-4e3026d0208f', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}]}magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_all_with_pagination_marker +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_all_with_pagination_marker ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name_multiple_cluster +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name_multiple_cluster ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name_not_found +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok_by_name +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok_by_name ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_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.TestPatch.test_replace_ok_by_name_multiple_cluster +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok_by_name_multiple_cluster ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid_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.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_one_by_uuid_not_found +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_failed_cluster +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_failed_cluster ... ok + GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.10 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version {"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 0, 'nodegroup': 'ce22526a-e66d-433e-93a6-8cb223007a04'} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 6, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'UPDATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'HEALTHY', 'health_status_reason': {'api': 'ok'}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4', '172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-14T17:23:41.247484+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/node_count', 'value': -1, 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.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/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'test_2'} +{"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/9ac546dc-b334-4dde-aae4-61acb0ffb544 [{'path': '/name', 'value': 'cluster_example_B', 'op': 'replace'}] +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 9ac546dc-b334-4dde-aae4-61acb0ffb544 could not be found", "detail": "Cluster 9ac546dc-b334-4dde-aae4-61acb0ffb544 could not be found.", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/cluster_template_id', 'value': '55d999d2-2656-4dff-8dca-881888af4918', 'op': 'replace'}] +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "cannot change cluster property(ies) cluster_template_id", "detail": "cannot change cluster property(ies) cluster_template_id.", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/node_count', 'value': 4, 'op': 'replace'}] GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.8 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version {"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -POST: /v1/clusters/a821a704-8c4f-4f89-a8d4-1c1df7993ff1/actions/upgrade {'cluster_template': 'test_2'} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 4, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'UPDATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'UNKNOWN', 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-14T17:23:41.646519+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} +PATCH: /v1/clusters/cluster_example_A [{'path': '/node_count', 'value': 4, 'op': 'replace'}] GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.8 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "a821a704-8c4f-4f89-a8d4-1c1df7993ff1"} -POST: /v1/clusters/not_there/actions/upgrade {'cluster_template': 'test_2'}magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_cluster_not_found -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_cluster_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_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.TestPost.test_create_cert_by_cluster_name -magnum.tests.unit.api.controllers.v1.test_certificate.TestPost.test_create_cert_by_cluster_name ... ok -magnum.tests.unit.api.controllers.v1.test_certificate.TestPost.test_create_cert_cluster_not_found -magnum.tests.unit.api.controllers.v1.test_certificate.TestPost.test_create_cert_cluster_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_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.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_actions.TestClusterUpgrade.test_upgrade_default_worker -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_default_worker ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_ng_not_found -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_ng_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_non_default_ng -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_non_default_ng ... ok -POST: /v1/certificates {'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'csr': 'fake-csr', 'pem': 'fake-pem'} -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-01-14T17:23:41.781672+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} +PATCH: /v1/clusters/test_cluster [{'path': '/name', 'value': 'test_cluster', 'op': 'replace'}] +GOT:Response: 409 Conflict Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 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": "Multiple clusters exist with same name", "detail": "Multiple clusters exist with same name. Please use the cluster uuid instead.", "links": []}]} +PATCH: /v1/clusters/not_found [{'path': '/name', 'value': 'not_found', 'op': 'replace'}] +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +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": "Cluster not_found could not be found", "detail": "Cluster not_found could not be found.", "links": []}]} +PATCH: /v1/clusters/f578e713-901a-40c1-83bc-ebd413416168 [{'path': '/cluster_id', 'value': 'f578e713-901a-40c1-83bc-ebd413416168', 'op': 'replace'}] +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +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": []}]} -GET: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} -GET: /v1/certificates/cluster1 {} -GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} -GET: /v1/certificates/test_cluster {} +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster f578e713-901a-40c1-83bc-ebd413416168 could not be found", "detail": "Cluster f578e713-901a-40c1-83bc-ebd413416168 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.TestPatch.test_update_cluster_as_admin +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_as_admin ... ok + +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-14T17:23:41.691789+00:00', 'updated_at': None} +GET: /v1/clusters/cluster1 {} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-14T17:23:41.753529+00:00', 'updated_at': None} +GET: /v1/clusters/test_cluster {} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Multiple clusters exist with same name", "detail": "Multiple clusters exist with same name. Please use the cluster uuid instead.", "links": []}]} -GET: /v1/certificates/not_found {} +GET: /v1/clusters/not_found {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not_found could not be found", "detail": "Cluster not_found could not be found.", "links": []}]} -GET: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} -GET: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} -GET: /certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} -POST: /v1/certificates {'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'csr': 'fake-csr'} -GOT:Response: 201 Created +GET: /v1/clusters/8ff625f9-f4a6-4965-a978-cbaeeb1e5690 {} +GOT:{'uuid': '8ff625f9-f4a6-4965-a978-cbaeeb1e5690', '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/8ff625f9-f4a6-4965-a978-cbaeeb1e5690', 'rel': 'self'}, {'href': 'http://localhost/clusters/8ff625f9-f4a6-4965-a978-cbaeeb1e5690', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-14T17:23:41.900698+00:00', 'updated_at': None} +GET: /v1/clusters/bf197887-8fea-448f-8dfd-4b8d30bc1af8 {} +GOT:{'uuid': 'bf197887-8fea-448f-8dfd-4b8d30bc1af8', '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/bf197887-8fea-448f-8dfd-4b8d30bc1af8', 'rel': 'self'}, {'href': 'http://localhost/clusters/bf197887-8fea-448f-8dfd-4b8d30bc1af8', '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': 'bf197887-8fea-448f-8dfd-4b8d30bc1af8', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-14T17:23:41.963607+00:00', 'updated_at': None} +GET: /v1/clusters/9306d565-4d18-42fb-a020-8e45877dccd6 {} +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"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 +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 9306d565-4d18-42fb-a020-8e45877dccd6 could not be found", "detail": "Cluster 9306d565-4d18-42fb-a020-8e45877dccd6 could not be found.", "links": []}]} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_FAILED', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'faults': {'test-master': 'fake_reason'}, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-14T17:23:42.068355+00:00', 'updated_at': None} +GET: /v1/clusters/dceb40dc-ad77-485c-85d3-6c0f625dcc72 {} +GOT:{'uuid': 'dceb40dc-ad77-485c-85d3-6c0f625dcc72', 'name': 'cluster1', 'cluster_template_id': '3e047ff5-5101-4105-b08f-1dec4b58f8fd', '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/dceb40dc-ad77-485c-85d3-6c0f625dcc72', 'rel': 'self'}, {'href': 'http://localhost/clusters/dceb40dc-ad77-485c-85d3-6c0f625dcc72', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {'label1': 'value1'}, 'labels_added': {'label4': 'value4'}, 'labels_skipped': {'label2': 'value2'}, 'master_lb_enabled': True, 'created_at': '2025-01-14T17:23:42.142527+00:00', 'updated_at': None}magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_merged_labels +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_merged_labels ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_rollback_disabled +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_rollback_disabled ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_links +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_links ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_rollback_enabled +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_rollback_enabled ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_many +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_many ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_zero_node_count +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_zero_node_count ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_one +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_one ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_zero_node_count_fail +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_zero_node_count_fail ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize ... ok + +GET: /v1/clusters/05cbfc89-43e6-4cfd-940f-3b224e7aa1a0 {} +GOT:{'uuid': '05cbfc89-43e6-4cfd-940f-3b224e7aa1a0', '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/05cbfc89-43e6-4cfd-940f-3b224e7aa1a0', 'rel': 'self'}, {'href': 'http://localhost/clusters/05cbfc89-43e6-4cfd-940f-3b224e7aa1a0', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-14T17:23:42.460580+00:00', 'updated_at': None} +GET: /v1/clusters/05cbfc89-43e6-4cfd-940f-3b224e7aa1a0 {} +GOT:{'uuid': '05cbfc89-43e6-4cfd-940f-3b224e7aa1a0', '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/05cbfc89-43e6-4cfd-940f-3b224e7aa1a0', 'rel': 'self'}, {'href': 'http://localhost/clusters/05cbfc89-43e6-4cfd-940f-3b224e7aa1a0', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-14T17:23:42.460580+00:00', 'updated_at': None} +GET: /clusters/05cbfc89-43e6-4cfd-940f-3b224e7aa1a0 {} +GOT:{'uuid': '05cbfc89-43e6-4cfd-940f-3b224e7aa1a0', '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/05cbfc89-43e6-4cfd-940f-3b224e7aa1a0', 'rel': 'self'}, {'href': 'http://localhost/clusters/05cbfc89-43e6-4cfd-940f-3b224e7aa1a0', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-14T17:23:42.460580+00:00', 'updated_at': None} +GET: /v1/clusters {} +GOT:{'clusters': [{'uuid': '643dd7f4-df65-4c42-9f94-50076bca4d77', '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/643dd7f4-df65-4c42-9f94-50076bca4d77', 'rel': 'self'}, {'href': 'http://localhost/clusters/643dd7f4-df65-4c42-9f94-50076bca4d77', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '6baa6f11-5bb0-4e90-bbcf-e0e221d0bc53', '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/6baa6f11-5bb0-4e90-bbcf-e0e221d0bc53', 'rel': 'self'}, {'href': 'http://localhost/clusters/6baa6f11-5bb0-4e90-bbcf-e0e221d0bc53', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '6c132165-8bac-4c18-8e3b-6a5932eef520', '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/6c132165-8bac-4c18-8e3b-6a5932eef520', 'rel': 'self'}, {'href': 'http://localhost/clusters/6c132165-8bac-4c18-8e3b-6a5932eef520', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '43edfe57-1a7d-41c6-baf0-1fe9a5246423', '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/43edfe57-1a7d-41c6-baf0-1fe9a5246423', 'rel': 'self'}, {'href': 'http://localhost/clusters/43edfe57-1a7d-41c6-baf0-1fe9a5246423', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '343a0baa-82f1-4b93-9ff6-95df9055ac05', '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/343a0baa-82f1-4b93-9ff6-95df9055ac05', 'rel': 'self'}, {'href': 'http://localhost/clusters/343a0baa-82f1-4b93-9ff6-95df9055ac05', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}]} +GET: /v1/clusters {} +GOT:{'clusters': [{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}]} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"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 +{"uuid": "a5e907e3-6b86-4d8e-a84d-92953cb6a230"}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_doesnt_contain_id +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_doesnt_contain_id ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_generate_uuid +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_generate_uuid ... ok +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_actions.TestClusterResize.test_resize_with_master_nodegroup +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_master_nodegroup ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.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_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.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_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.TestPost.test_create_cluster_with_cinder_csi_disabled +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_cinder_csi_disabled ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_nodegroup +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_nodegroup ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_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_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.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 + +PATCH: /v1/clusters/e3c134dd-de33-4bc0-8e54-2250d38858e3 [{'path': '/node_count', 'value': 4, 'op': 'replace'}] +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 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 {} +{"uuid": "e3c134dd-de33-4bc0-8e54-2250d38858e3"} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/?rollback=False [{'path': '/node_count', 'value': 4, 'op': 'replace'}] GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.3 Vary: OpenStack-API-Version {"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -GET: /v1/clusters/?limit=3 {} -GOT:{'clusters': [{'uuid': '07122aff-5481-401f-a640-151a810d6cfe', '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/07122aff-5481-401f-a640-151a810d6cfe', 'rel': 'self'}, {'href': 'http://localhost/clusters/07122aff-5481-401f-a640-151a810d6cfe', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '8c8699a8-763b-470d-9b10-702d71326aaa', '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/8c8699a8-763b-470d-9b10-702d71326aaa', 'rel': 'self'}, {'href': 'http://localhost/clusters/8c8699a8-763b-470d-9b10-702d71326aaa', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '1c0a1881-af95-42f1-b1ee-1c24dfc49d48', '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/1c0a1881-af95-42f1-b1ee-1c24dfc49d48', 'rel': 'self'}, {'href': 'http://localhost/clusters/1c0a1881-af95-42f1-b1ee-1c24dfc49d48', '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=1c0a1881-af95-42f1-b1ee-1c24dfc49d48'}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_actions.TestClusterUpgrade.test_upgrade_non_default_ng_invalid_ct -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_non_default_ng_invalid_ct ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.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_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.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.TestListCluster.test_detail -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail ... 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.TestListCluster.test_detail_against_single -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail_against_single ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_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.TestListCluster.test_detail_with_pagination_marker -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail_with_pagination_marker ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_empty -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_empty ... ok - -GOT:Response: 404 Not Found +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/?rollback=True [{'path': '/node_count', 'value': 4, 'op': 'replace'}] +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.8 +Openstack-Api-Version: container-infra 1.3 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 +{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/node_count', 'value': 0, 'op': 'replace'}] +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.8 +Openstack-Api-Version: container-infra 1.10 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': 'b8730955-0040-4e11-964c-595eeb4463e3'} -GOT:Response: 202 Accepted +{"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.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.9 Vary: OpenStack-API-Version -{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'test_2', 'nodegroup': 'af145e8a-a8e4-48f2-a0b7-522e1d3503d4'} +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing a nodegroup to zero is not supported in the provided microversion", "detail": "Resizing a nodegroup to zero is not supported in the provided microversion.", "links": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 6} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 +Openstack-Api-Version: container-infra 1.7 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 +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 6, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-14T17:23:42.850312+00:00', 'updated_at': None} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 6, 'nodegroup': 'c05a7651-004b-435f-aacf-4fe0d67ee539'} +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.9 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 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 +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing a master nodegroup is not supported", "detail": "Resizing a master nodegroup is not supported.", "links": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 6, 'nodegroup': '29d1b005-9ea9-4abf-96d2-2f0e43df4bcd'} +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.9 Vary: OpenStack-API-Version -{"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 +{"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': 'b066c25f-59ea-43ba-894c-dd4e164e7af5'} +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.9 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Cluster Template is not valid for upgrade: Nodegroup test_ng can be upgraded only to match cluster's template (test_1)", "detail": "Cluster Template is not valid for upgrade: Nodegroup test_ng can be upgraded only to match cluster's template (test_1).", "links": []}]} -POST: /v1/clustertemplates {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'image_id': 'ubuntu', 'flavor_id': 'm1.small', 'master_flavor_id': 'm1.small', 'keypair_id': 'keypair1', 'external_network_id': 'd1f02cfb-d27f-4068-9332-84d907cb0e2e', 'fixed_network': 'private', 'fixed_subnet': 'private-subnet', 'network_driver': None, 'volume_driver': None, 'dns_nameserver': '8.8.1.1', 'apiserver_port': 8080, 'docker_volume_size': 20, 'docker_storage_driver': 'devicemapper', 'cluster_distro': 'fedora-coreos', 'coe': 'kubernetes', 'labels': {'key1': 'val1', 'key2': 'val2'}, 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'registry_enabled': False, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'hidden': False, 'tags': '', 'driver': ''} -GOT:Response: 403 Forbidden +{"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': '21c86ff3-cb5c-4f37-9e1c-88a53eb4bd69'} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.9 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': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-14T17:23:43.137645+00:00', 'updated_at': None} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 0, 'nodegroup': '817d2930-d85f-4f01-88f4-9e1550c3a009'} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.10 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/33b1623b-0548-4da5-8b29-2b7f79382dbe/detail {} -GOT:Response: 403 Forbidden +{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 0, 'nodegroup': 'a5613fd5-625e-4ff1-8b33-0e13880253b7'} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.9 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing a nodegroup to zero is not supported in the provided microversion", "detail": "Resizing a nodegroup to zero is not supported in the provided microversion.", "links": []}]}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_actions.TestClusterUpgrade.test_upgrade +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_cluster_as_admin +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_cluster_as_admin ... ok +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 + +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:detail to be performed", "detail": "Policy doesn't allow clustertemplate:detail to be performed.", "links": []}]} -GET: /v1/clustertemplates {} -GOT:Response: 403 Forbidden +{"uuid": "cccf14e4-989b-4101-a57c-58256a2f7089"} +POST: /v1/clusters {'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"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 +{"uuid": "f1a85abb-5de7-4938-a457-897f2f86b7dd"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:get to be performed", "detail": "Policy doesn't allow clustertemplate:get to be performed.", "links": []}]} -PATCH: /v1/clustertemplates/example_A [{'path': '/name', 'value': 'new_name', 'op': 'replace'}] -GOT:Response: 403 Forbidden +{"errors": [{"request_id": "", "code": "client", "status": 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 Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:update to be performed", "detail": "Policy doesn't allow clustertemplate:update to be performed.", "links": []}]} -DELETE: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 +{"uuid": "7dce8141-f9af-435d-be0c-56c3aa0982bb"} +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 Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:delete to be performed", "detail": "Policy doesn't allow clustertemplate:delete to be performed.", "links": []}]} -GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:Response: 403 Forbidden +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Resource limit exceeded: You have reached the maximum clusters per project, 1", "detail": "Resource limit exceeded: You have reached the maximum clusters per project, 1. You may delete a cluster to make room for a new one.", "links": []}]} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:get to be performed", "detail": "Policy doesn't allow clustertemplate:get to be performed.", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_only_owner_get_one -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_only_owner_get_one ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_only_owner_update -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_only_owner_update ... ok -magnum.tests.unit.api.controllers.v1.test_federation.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_cluster.TestListCluster.test_get_all_with_all_projects -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_all_with_all_projects ... ok - -GET: /v1/clusters {} -GOT:{'clusters': [{'uuid': '2695088d-b12f-4ed4-a1c0-13283f722c1c', '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/2695088d-b12f-4ed4-a1c0-13283f722c1c', 'rel': 'self'}, {'href': 'http://localhost/clusters/2695088d-b12f-4ed4-a1c0-13283f722c1c', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '40b832f3-2a09-4256-8d19-c4be0bff9b15', '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/40b832f3-2a09-4256-8d19-c4be0bff9b15', 'rel': 'self'}, {'href': 'http://localhost/clusters/40b832f3-2a09-4256-8d19-c4be0bff9b15', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '33a2f686-83af-45b1-aebe-60009234aa23', '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/33a2f686-83af-45b1-aebe-60009234aa23', 'rel': 'self'}, {'href': 'http://localhost/clusters/33a2f686-83af-45b1-aebe-60009234aa23', '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=33a2f686-83af-45b1-aebe-60009234aa23'} -GET: /v1/clusters/detail {} -GOT:{'clusters': [{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-16T23:36:32.175049+00:00', 'updated_at': None}]} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/detail {} -GOT:Response: 404 Not Found +{"uuid": "fef47c09-91cc-424d-a30d-8b7ced3e937b"} +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 Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "The %(name)s resource %(id)s could not be found", "detail": "The %(name)s resource %(id)s could not be found.", "links": []}]} -GET: /v1/clusters/detail?limit=3&marker=700bce2e-30d5-402d-b5be-cdf06f78eece {} -GOT:{'clusters': [{'uuid': 'd617d685-591c-450c-8ba3-48f22196327c', '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/d617d685-591c-450c-8ba3-48f22196327c', 'rel': 'self'}, {'href': 'http://localhost/clusters/d617d685-591c-450c-8ba3-48f22196327c', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-16T23:36:32.236427+00:00', 'updated_at': None}]} -GET: /v1/clusters {} -GOT:{'clusters': []} -GET: /v1/clusters {} -GOT:{'clusters': [{'uuid': 'b6955da6-88f1-44cd-bd30-c401809d9747', '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/b6955da6-88f1-44cd-bd30-c401809d9747', 'rel': 'self'}, {'href': 'http://localhost/clusters/b6955da6-88f1-44cd-bd30-c401809d9747', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '2faf7e94-9d32-4ac6-80b7-88142c548811', '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/2faf7e94-9d32-4ac6-80b7-88142c548811', 'rel': 'self'}, {'href': 'http://localhost/clusters/2faf7e94-9d32-4ac6-80b7-88142c548811', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '5860c36a-cd60-4d2a-93ec-20b620176854', '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/5860c36a-cd60-4d2a-93ec-20b620176854', 'rel': 'self'}, {'href': 'http://localhost/clusters/5860c36a-cd60-4d2a-93ec-20b620176854', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '496d7526-136c-4094-8b4c-329de1fefca4', '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/496d7526-136c-4094-8b4c-329de1fefca4', 'rel': 'self'}, {'href': 'http://localhost/clusters/496d7526-136c-4094-8b4c-329de1fefca4', '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=1e5ae3d6-53ed-4c01-8d46-8e7cc69a53ec {} -GOT:{'clusters': [{'uuid': '7943e7b2-ed0e-474e-a010-11f11b367c0b', '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/7943e7b2-ed0e-474e-a010-11f11b367c0b', 'rel': 'self'}, {'href': 'http://localhost/clusters/7943e7b2-ed0e-474e-a010-11f11b367c0b', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}]}magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_all_with_pagination_marker -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_all_with_pagination_marker ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one ... ok -magnum.tests.unit.api.controllers.v1.test_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_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_federation.TestPatch.test_member_join -magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_member_join ... ok -magnum.tests.unit.api.controllers.v1.test_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_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_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_federation.TestPatch.test_unjoin_non_existent_cluster -magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_unjoin_non_existent_cluster ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_unjoin_non_member_cluster -magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_unjoin_non_member_cluster ... ok -magnum.tests.unit.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_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_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_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_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_magnum_service.TestMagnumServiceEnforcement.test_policy_disallow_get_all -magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceEnforcement.test_policy_disallow_get_all ... ok -magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceObject.test_msvc_obj_fields_filtering -magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceObject.test_msvc_obj_fields_filtering ... ok -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 - -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-16T23:36:32.385785+00:00', 'updated_at': None} -GET: /v1/clusters/cluster1 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-16T23:36:32.418395+00:00', 'updated_at': None} -GET: /v1/clusters/test_cluster {} -GOT:Response: 409 Conflict +{"uuid": "75476180-2623-48d1-9f4f-3a3bf44aca3c"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'clustermodel1', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Multiple clusters exist with same name", "detail": "Multiple clusters exist with same name. Please use the cluster uuid instead.", "links": []}]} -GET: /v1/clusters/not_found {} -GOT:Response: 404 Not Found +{"uuid": "a20757e9-d1e9-46e9-84d1-880277b22e2b"} +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 Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not_found could not be found", "detail": "Cluster not_found could not be found.", "links": []}]} -GET: /v1/clusters/036fe35a-8f11-4fae-b022-f28f2b1a4011 {} -GOT:{'uuid': '036fe35a-8f11-4fae-b022-f28f2b1a4011', '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/036fe35a-8f11-4fae-b022-f28f2b1a4011', 'rel': 'self'}, {'href': 'http://localhost/clusters/036fe35a-8f11-4fae-b022-f28f2b1a4011', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-16T23:36:32.488761+00:00', 'updated_at': None} -GET: /v1/clusters/90fdb5bc-64e2-454b-9d23-1df8f98a0141 {} -GOT:{'uuid': '90fdb5bc-64e2-454b-9d23-1df8f98a0141', '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/90fdb5bc-64e2-454b-9d23-1df8f98a0141', 'rel': 'self'}, {'href': 'http://localhost/clusters/90fdb5bc-64e2-454b-9d23-1df8f98a0141', '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': '90fdb5bc-64e2-454b-9d23-1df8f98a0141', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-16T23:36:32.586178+00:00', 'updated_at': None} -GET: /v1/clusters/06b470f8-304b-4740-ac7c-6f7a7a3c1a25 {} -GOT:Response: 404 Not Found +{"uuid": "06c13359-1c20-4782-80cd-52f27cfbbec4"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': 'm2.small', 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 06b470f8-304b-4740-ac7c-6f7a7a3c1a25 could not be found", "detail": "Cluster 06b470f8-304b-4740-ac7c-6f7a7a3c1a25 could not be found.", "links": []}]} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_FAILED', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'faults': {'test-master': 'fake_reason'}, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-16T23:36:32.754856+00:00', 'updated_at': None} -GET: /v1/clusters/c3d8c6df-8b59-468c-a106-5dd7c3c79e24 {} -GOT:{'uuid': 'c3d8c6df-8b59-468c-a106-5dd7c3c79e24', 'name': 'cluster1', 'cluster_template_id': 'bd4523e1-7d1a-4185-9ded-164db1414bdd', '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/c3d8c6df-8b59-468c-a106-5dd7c3c79e24', 'rel': 'self'}, {'href': 'http://localhost/clusters/c3d8c6df-8b59-468c-a106-5dd7c3c79e24', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {'label1': 'value1'}, 'labels_added': {'label4': 'value4'}, 'labels_skipped': {'label2': 'value2'}, 'master_lb_enabled': True, 'created_at': '2026-02-16T23:36:32.789705+00:00', 'updated_at': None}magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_merged_labels -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_merged_labels ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_links -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_links ... ok +{"uuid": "48bf73f8-99a9-4f82-8dac-9367ca5f6a56"}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_flavor_id +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_flavor_id ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_docker_volume_size +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_docker_volume_size ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_ext_network +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_ext_network ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_flavor +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_flavor ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_keypair +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_keypair ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_ct_not_found +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_ct_not_found ... ok -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/name', 'value': 'new_name', 'op': 'replace'}] -GOT:Response: 403 Forbidden +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': -1, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-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/federations/e2c34ebc-fdee-4669-b056-5aaf8552811b [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'add'}] -GOT:Response: 409 Conflict +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute docker_volume_size", "detail": "Invalid input for field/attribute docker_volume_size. 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': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': 'notanint', 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 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/f1995276-0325-475e-8e31-6439a42be739 [{'path': '/member_ids', 'value': 'c65eac55-a8ff-453e-b12e-7d14f2c676ab', 'op': 'add'}] -GOT:Response: 404 Not Found +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute cluster", "detail": "Invalid input for field/attribute cluster. Value: '{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': 'notanint', '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}'. invalid literal for int() with base 10: 'notanint'", "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': 1, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-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 c65eac55-a8ff-453e-b12e-7d14f2c676ab could not be found", "detail": "Cluster c65eac55-a8ff-453e-b12e-7d14f2c676ab could not be found.", "links": []}]} -PATCH: /v1/federations/175359f8-c15b-4cb8-9b0a-8b680bcc2ad6 [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'add'}] -GOT:Response: 202 Accepted +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "docker volume size 1 GB is not valid, expecting minimum value 3GB for devicemapper storage driver", "detail": "docker volume size 1 GB is not valid, expecting minimum value 3GB for devicemapper storage driver.", "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': 2, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "175359f8-c15b-4cb8-9b0a-8b680bcc2ad6"} -GET: /v1/federations/175359f8-c15b-4cb8-9b0a-8b680bcc2ad6 {} -GOT:{'uuid': '175359f8-c15b-4cb8-9b0a-8b680bcc2ad6', '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/175359f8-c15b-4cb8-9b0a-8b680bcc2ad6', 'rel': 'self'}, {'href': 'http://localhost/federations/175359f8-c15b-4cb8-9b0a-8b680bcc2ad6', 'rel': 'bookmark'}], 'created_at': '2026-02-16T23:36:32.443203+00:00', 'updated_at': '2026-02-16T23:36:32.458444+00:00'} -PATCH: /v1/federations/68026c6b-04f4-425f-9dd7-a8a31bcd4815 [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'remove'}] -GOT:Response: 202 Accepted +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "docker volume size 2 GB is not valid, expecting minimum value 3GB for devicemapper storage driver", "detail": "docker volume size 2 GB is not valid, expecting minimum value 3GB for devicemapper storage driver.", "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: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "68026c6b-04f4-425f-9dd7-a8a31bcd4815"} -GET: /v1/federations/68026c6b-04f4-425f-9dd7-a8a31bcd4815 {} -GOT:{'uuid': '68026c6b-04f4-425f-9dd7-a8a31bcd4815', '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/68026c6b-04f4-425f-9dd7-a8a31bcd4815', 'rel': 'self'}, {'href': 'http://localhost/federations/68026c6b-04f4-425f-9dd7-a8a31bcd4815', 'rel': 'bookmark'}], 'created_at': '2026-02-16T23:36:32.477569+00:00', 'updated_at': '2026-02-16T23:36:32.486983+00:00'} -PATCH: /v1/federations/af6f7185-da59-4619-be86-8f99d29f0cb6 [{'path': '/member_ids', 'value': '66f9fdf1-53d0-4572-b0cf-5f55be8c1157', 'op': 'remove'}] -GOT:Response: 404 Not Found +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "test-net", "detail": "test-net", "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: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 66f9fdf1-53d0-4572-b0cf-5f55be8c1157 could not be found", "detail": "Cluster 66f9fdf1-53d0-4572-b0cf-5f55be8c1157 could not be found.", "links": []}]} -PATCH: /v1/federations/1986c83f-1b48-4345-bc96-6a84f753fe24 [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'remove'}] +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "test-flavor", "detail": "test-flavor", "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: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 is not a member of the federation federation-example", "detail": "Cluster 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 is not a member of the federation federation-example.", "links": []}]} -GET: /v1/mservices {} -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 +{"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} +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow magnum-service:get_all to be performed", "detail": "Policy doesn't allow magnum-service:get_all to be performed.", "links": []}]} -GET: /v1/clusters/13abcdcb-5fbb-4833-94a3-9e8fcaee5a52/nodegroups {} -GOT:Response: 403 Forbidden +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute cluster", "detail": "Invalid input for field/attribute cluster. Value: '{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': 'invalid', 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False}'. Value not a valid dict: invalid", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_labels +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_labels ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_name +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_name ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_default_master +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_default_master ... ok + +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 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/5605fb64-acea-4ad1-b01d-e130bc83aa56/nodegroups/8368997d-a8c3-42f6-a892-61a30b45c558 {} -GOT:Response: 403 Forbidden +{"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/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': '123456', '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.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow nodegroup:get to be performed", "detail": "Policy doesn't allow nodegroup:get to be performed.", "links": []}]}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestNodeGroupPolicyEnforcement.test_policy_disallow_get_one -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestNodeGroupPolicyEnforcement.test_policy_disallow_get_one ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_internal_attr -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_internal_attr ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_min_node_count -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_min_node_count ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_non_existent_property -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_non_existent_property ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_ok ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_max_node_count_failed -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_max_node_count_failed ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_min_node_count_failed -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_min_node_count_failed ... ok -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.TestListCluster.test_many -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_many ... ok - -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/node_count', 'op': 'remove'}] +{"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/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': '123456test_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: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +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": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: '123456test_cluster'. Value should match the pattern ^[a-zA-Z][a-zA-Z0-9_.-]*$", "links": []}]} +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: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"id": 12, "uuid": "483203a3-dbee-4a9c-9d65-9820512f4df8", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 2, "role": "worker", "min_node_count": 0, "max_node_count": 5, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2026-02-16T23:36:32.865445+00:00", "updated_at": null} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 {} -GOT:{'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'cluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 2, 'role': 'worker', 'min_node_count': 0, 'max_node_count': 5, 'is_default': False, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2026-02-16T23:36:32.865445+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'}] +{"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': '.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: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +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": 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': '_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: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"id": 12, "uuid": "483203a3-dbee-4a9c-9d65-9820512f4df8", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 2, "role": "worker", "min_node_count": 2, "max_node_count": null, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2026-02-16T23:36:32.936291+00:00", "updated_at": null} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 {} -GOT:{'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'cluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 2, 'role': 'worker', 'min_node_count': 2, 'max_node_count': None, 'is_default': False, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2026-02-16T23:36:32.936291+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 +{"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.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "max_node_count for nodegroup1 is invalid (min_node_count (2) should be less or equal to max_node_count (1))", "detail": "max_node_count for nodegroup1 is invalid (min_node_count (2) should be less or equal to max_node_count (1)).", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/min_node_count', 'value': 3, 'op': 'replace'}] -GOT:Response: 409 Conflict +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: ''. Value should have a minimum character requirement of 1", "links": []}]} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False, 'keypair': 'keypair2'} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "min_node_count for nodegroup1 is invalid (min_node_count (3) should be less or equal to node_count (2))", "detail": "min_node_count for nodegroup1 is invalid (min_node_count (3) should be less or equal to node_count (2)).", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/node_count', 'value': 3, 'op': 'replace'}] -GOT:Response: 400 Bad Request +{"uuid": "3d38a02b-1440-45f8-8db8-e47b7daf61e2"}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_keypair +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_keypair ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_labels +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_labels ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_master_count_zero +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_master_count_zero ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_default_worker +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_default_worker ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_master_flavor_id +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_master_flavor_id ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_merge_labels +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_merge_labels ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_ng_not_found +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_ng_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.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_actions.TestClusterUpgrade.test_upgrade_non_default_ng +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_non_default_ng ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.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_actions.TestClusterUpgrade.test_upgrade_non_default_ng_invalid_ct +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_non_default_ng_invalid_ct ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.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_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.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_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 + +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.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/node_count' is an internal attribute and can not be updated", "detail": "'/node_count' is an internal attribute and can not be updated", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 [{'path': '/max_node_count', 'value': 4, 'op': 'replace'}]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.TestListCluster.test_one -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_one ... 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_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.TestPatch.test_replace_wrong_microversion -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_wrong_microversion ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_update_nodegroup_as_admin -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_update_nodegroup_as_admin ... ok - -GET: /v1/clusters/e552babc-330e-4357-905e-6d103f97cc02 {} -GOT:{'uuid': 'e552babc-330e-4357-905e-6d103f97cc02', '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/e552babc-330e-4357-905e-6d103f97cc02', 'rel': 'self'}, {'href': 'http://localhost/clusters/e552babc-330e-4357-905e-6d103f97cc02', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-16T23:36:32.821596+00:00', 'updated_at': None} -GET: /v1/clusters/e552babc-330e-4357-905e-6d103f97cc02 {} -GOT:{'uuid': 'e552babc-330e-4357-905e-6d103f97cc02', '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/e552babc-330e-4357-905e-6d103f97cc02', 'rel': 'self'}, {'href': 'http://localhost/clusters/e552babc-330e-4357-905e-6d103f97cc02', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-16T23:36:32.821596+00:00', 'updated_at': None} -GET: /clusters/e552babc-330e-4357-905e-6d103f97cc02 {} -GOT:{'uuid': 'e552babc-330e-4357-905e-6d103f97cc02', '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/e552babc-330e-4357-905e-6d103f97cc02', 'rel': 'self'}, {'href': 'http://localhost/clusters/e552babc-330e-4357-905e-6d103f97cc02', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-16T23:36:32.821596+00:00', 'updated_at': None} -GET: /v1/clusters {} -GOT:{'clusters': [{'uuid': '8e56c9c1-04bb-4a4e-abad-f02229e950e2', '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/8e56c9c1-04bb-4a4e-abad-f02229e950e2', 'rel': 'self'}, {'href': 'http://localhost/clusters/8e56c9c1-04bb-4a4e-abad-f02229e950e2', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '126c2c8a-1e55-43b3-8c5b-3b4d54cdd936', '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/126c2c8a-1e55-43b3-8c5b-3b4d54cdd936', 'rel': 'self'}, {'href': 'http://localhost/clusters/126c2c8a-1e55-43b3-8c5b-3b4d54cdd936', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'f27019f8-4359-478a-844a-5b2d17201fab', '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/f27019f8-4359-478a-844a-5b2d17201fab', 'rel': 'self'}, {'href': 'http://localhost/clusters/f27019f8-4359-478a-844a-5b2d17201fab', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '90069f0f-7e34-4f2b-b856-b9d15ad7120b', '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/90069f0f-7e34-4f2b-b856-b9d15ad7120b', 'rel': 'self'}, {'href': 'http://localhost/clusters/90069f0f-7e34-4f2b-b856-b9d15ad7120b', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '87e72fbb-88d0-45aa-aad6-ea630545d3b3', '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/87e72fbb-88d0-45aa-aad6-ea630545d3b3', 'rel': 'self'}, {'href': 'http://localhost/clusters/87e72fbb-88d0-45aa-aad6-ea630545d3b3', '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'}] +{"uuid": "21cb90fd-365c-4a2b-8426-9a87eb0961ee"} +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.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Adding a new attribute /foo to the root of the resource is not allowed", "detail": "Adding a new attribute /foo to the root of the resource is not allowed.", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/uuid', 'op': 'remove'}]magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_mandatory_property_fail -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_mandatory_property_fail ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_non_existent_property -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_non_existent_property ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_invalid_hard_limit -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_invalid_hard_limit ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_invalid_resource -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_invalid_resource ... ok - +{"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.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"id": 12, "uuid": "483203a3-dbee-4a9c-9d65-9820512f4df8", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 2, "role": "worker", "min_node_count": 2, "max_node_count": 4, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2026-02-16T23:36:33.054416+00:00", "updated_at": null} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 {} -GOT:{'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'cluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 2, 'role': 'worker', 'min_node_count': 2, 'max_node_count': 4, 'is_default': False, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2026-02-16T23:36:33.054416+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'}] +{"uuid": "2c5adca7-c7fa-455e-971d-89a8f3322185"} +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.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"id": 12, "uuid": "483203a3-dbee-4a9c-9d65-9820512f4df8", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 2, "role": "worker", "min_node_count": 2, "max_node_count": 4, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2026-02-16T23:36:33.092106+00:00", "updated_at": null} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 {} -GOT:{'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'cluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 2, 'role': 'worker', 'min_node_count': 2, 'max_node_count': 4, 'is_default': False, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2026-02-16T23:36:33.092106+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/e4fe71b4-9c34-4b0b-9d81-2c5bab34a145/nodegroups/2b886457-a752-4e0f-83f3-c792d787e50a [{'path': '/max_node_count', 'value': 4, 'op': 'replace'}] +{"uuid": "bce0fedc-ee68-41f2-b92a-6371fa568bd0"} +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.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"id": 50, "uuid": "2b886457-a752-4e0f-83f3-c792d787e50a", "name": "nodegroup1", "cluster_id": "e4fe71b4-9c34-4b0b-9d81-2c5bab34a145", "project_id": "fake", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/e4fe71b4-9c34-4b0b-9d81-2c5bab34a145/nodegroups/2b886457-a752-4e0f-83f3-c792d787e50a", "rel": "self"}, {"href": "http://localhost/clusters/e4fe71b4-9c34-4b0b-9d81-2c5bab34a145/nodegroups/2b886457-a752-4e0f-83f3-c792d787e50a", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": 4, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2026-02-16T23:36:33.155566+00:00", "updated_at": null} -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} -GOT:Response: 201 Created +{"uuid": "ff14e819-bfeb-4ead-9476-8d265192aa93"} +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.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2026-02-16T23:36:33.182564+00:00", "updated_at": null} -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': -10} -GOT:Response: 400 Bad Request +{"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.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute hard_limit", "detail": "Invalid input for field/attribute hard_limit. Value: '-10'. Value should be greater or equal to 0", "links": []}]} -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'invalid-res', 'hard_limit': 10} +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "keypair2", "detail": "keypair2", "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} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute resource", "detail": "Invalid input for field/attribute resource. Value: 'invalid-res'. Value should be one of: Cluster", "links": []}]} -POST: /v1/quotas {'id': 42, 'resource': 'Cluster', 'hard_limit': 10} -GOT:Response: 400 Bad Request +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "master_count must be 1 when master_lb_enabled is False", "detail": "master_count must be 1 when master_lb_enabled is False", "links": []}]} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'foo', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 1, 'merge_labels': False} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Must provide a valid project ID", "detail": "Must provide a valid project ID.", "links": []}]}magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_no_project_id -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_no_project_id ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_project_id_not_found -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_project_id_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_zero_quota -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_zero_quota ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_ok ... 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.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_quota.TestQuota.test_get_all_admin_all_tenants -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_tenants ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_tenants_false -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_tenants_false ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.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_quota.TestQuota.test_get_all_admin_all_with_pagination_marker -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_with_pagination_marker ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_not_all_tenants -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_not_all_tenants ... ok -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.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_quota.TestQuota.test_get_all_with_pagination_limit -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_with_pagination_limit ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one ... ok -magnum.tests.unit.api.controllers.v1.test_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_quota.TestQuota.test_get_one_no_config_default -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_no_config_default ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_not_authorized -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_not_authorized ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_with_config_default -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_with_config_default ... ok +{"uuid": "898e7d4c-e28f-4319-ac02-ba974dbae911"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'merge_labels': False}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_master_count +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_master_count ... 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_cluster.TestPost.test_create_cluster_with_no_timeout +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_timeout ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_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.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_template.TestDelete.test_delete_cluster_template_with_name +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_name ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_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_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.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_cluster_template.TestDelete.test_delete_multiple_cluster_template_by_name +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_multiple_cluster_template_by_name ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_nonexist_image +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_nonexist_image ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_on_os_distro_image +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_on_os_distro_image ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_timeout_negative +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_timeout_negative ... ok -GOT:Response: 400 Bad Request +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'test_2'} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.8 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/uuid' is an internal attribute and can not be updated", "detail": "'/uuid' is an internal attribute and can not be updated", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/cluster_template_id', 'op': 'remove'}] -GOT:Response: 400 Bad Request +{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} +POST: /v1/clusters/515fb2b2-a324-4fec-9ac9-cef58613dfcc/actions/upgrade {'cluster_template': 'test_2'} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.8 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/cluster_template_id' is a mandatory attribute and can not be removed", "detail": "'/cluster_template_id' is a mandatory attribute and can not be removed", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/non-existent', 'op': 'remove'}] -GOT:Response: 400 Bad Request +{"uuid": "515fb2b2-a324-4fec-9ac9-cef58613dfcc"} +POST: /v1/clusters/not_there/actions/upgrade {'cluster_template': 'test_2'} +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.8 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Couldn't apply patch '[{'path': '/non-existent', 'op': 'remove'}]'", "detail": "Couldn't apply patch '[{'path': '/non-existent', 'op': 'remove'}]'. Reason: can't remove a non-existent object 'non-existent'", "links": []}]} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'UNKNOWN', 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-16T23:36:33.194358+00:00', 'updated_at': None} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/node_count', 'op': 'remove'}] +{"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.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.8 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "ClusterTemplate not_there could not be found", "detail": "ClusterTemplate not_there could not be found.", "links": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'test_2', 'nodegroup': '59c2bf0d-2451-4fbb-a074-ff5e94cbb13a'} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.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': 1, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'UPDATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'UNKNOWN', 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-16T23:36:33.194358+00:00', 'updated_at': '2026-02-16T23:36:33.238647+00:00'} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/name', 'value': 'cluster_example_B', 'op': 'replace'}] -GOT:Response: 400 Bad Request +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'test_2', 'nodegroup': '0f2b4165-1ce6-4bea-9769-282497a84a07'} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.9 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': '1ac96115-707b-432a-9b8a-a89c28c571cc', 'op': 'replace'}] -GOT:Response: 400 Bad Request +{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'test_2', 'nodegroup': 'not_there'} +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.9 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "cannot change cluster property(ies) cluster_template_id", "detail": "cannot change cluster property(ies) cluster_template_id.", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/health_status', 'value': 'HEALTHY', 'op': 'replace'}, {'path': '/health_status_reason', 'value': '{"api": "ok"}', 'op': 'replace'}] +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup not_there could not be found", "detail": "Nodegroup not_there could not be found.", "links": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'test_1', 'nodegroup': '27e3153e-d5bf-4b7e-b517-fb518e17f34c'} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.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': 'UPDATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'HEALTHY', 'health_status_reason': {'api': 'ok'}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4', '172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-16T23:36:33.344042+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 +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'test_2', 'nodegroup': '27e3153e-d5bf-4b7e-b517-fb518e17f34c'} +GOT:Response: 409 Conflict Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.9 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Cluster Template is not valid for upgrade: Nodegroup test_ng can be upgraded only to match cluster's template (test_1)", "detail": "Cluster Template is not valid for upgrade: Nodegroup test_ng can be upgraded only to match cluster's template (test_1).", "links": []}]} +DELETE: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 +GOT:Response: 204 No Content +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"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/b0561220-464b-412f-80ac-6a303aaa85a1 [{'path': '/name', 'value': 'cluster_example_B', 'op': 'replace'}]magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_non_existent_cluster -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_non_existent_cluster ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_one -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_one ... 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_quota.TestQuota.test_patch_quota -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_patch_quota ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_patch_quota_not_found -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_patch_quota_not_found ... ok -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok ... ok -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_all_stats -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_all_stats ... ok -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_invalid_tenant_stats -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_invalid_tenant_stats ... ok -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -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 -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_tenant_stats -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_tenant_stats ... ok -magnum.tests.unit.api.controllers.v1.test_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_stats.TestStatsController.test_empty -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_empty ... ok -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.api.controllers.v1.test_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_stats.TestStatsController.test_get_invalid_type_stats -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_invalid_type_stats ... ok -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.api.controllers.v1.test_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_stats.TestStatsController.test_get_self_stats -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_self_stats ... ok -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_self_stats_without_param -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_self_stats_without_param ... ok -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -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 -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_some_other_user_stats -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_some_other_user_stats ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_frombasetype_no_value -magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_frombasetype_no_value ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_invalid_value -magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_invalid_value ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_valid_false_values -magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_valid_false_values ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.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_types.TestBooleanType.test_valid_true_values -magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_valid_true_values ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_invalid_single_dns -magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_invalid_single_dns ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_valid_multi_dns -magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_valid_multi_dns ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_valid_single_dns -magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_valid_single_dns ... ok -magnum.tests.unit.api.controllers.v1.test_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.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_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_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_types.TestNameType.test_valid_name -magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_valid_name ... ok -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch ... ok -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_add_attr_already_exist -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_add_attr_already_exist ... ok -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_add_attr_not_exist -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_add_attr_not_exist ... ok -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_by_name -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_by_name ... ok -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_by_uuid -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_by_uuid ... ok -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_multi_exist -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_multi_exist ... ok +GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster b0561220-464b-412f-80ac-6a303aaa85a1 could not be found", "detail": "Cluster b0561220-464b-412f-80ac-6a303aaa85a1 could not be found.", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/cluster_template_id', 'value': '18dfffeb-556a-49e1-9605-d9a110505458', 'op': 'replace'}] -GOT:Response: 400 Bad Request -Content-Type: application/json +{"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/93bacf3e-1e37-48cb-9e74-c82646ff23f0 +GOT:Response: 204 No Content Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 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 + +DELETE: /v1/clustertemplates/519ba287-fe7a-477e-a6ae-a642ce64c0e2 +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 4, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'UPDATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'UNKNOWN', 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-16T23:36:33.490333+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 +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "ClusterTemplate 519ba287-fe7a-477e-a6ae-a642ce64c0e2 could not be found", "detail": "ClusterTemplate 519ba287-fe7a-477e-a6ae-a642ce64c0e2 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.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 4, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'UPDATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'UNKNOWN', 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-16T23:36:33.544649+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 +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "ClusterTemplate e74c40e0-d825-11e2-a28f-0800200c9a66 is referenced by one or multiple clusters", "detail": "ClusterTemplate e74c40e0-d825-11e2-a28f-0800200c9a66 is referenced by one or multiple clusters.", "links": []}]} +DELETE: /v1/clustertemplates/clustermodel1 +GOT:Response: 204 No Content Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"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'}] + +DELETE: /v1/clustertemplates/not_found GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not_found could not be found", "detail": "Cluster not_found could not be found.", "links": []}]} -PATCH: /v1/clusters/200646b5-edb3-45e6-ab64-63030938a263 [{'path': '/cluster_id', 'value': '200646b5-edb3-45e6-ab64-63030938a263', 'op': 'replace'}] -GOT:Response: 404 Not Found +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "ClusterTemplate not_found could not be found", "detail": "ClusterTemplate not_found could not be found.", "links": []}]} +DELETE: /v1/clustertemplates/test_cluster_template +GOT:Response: 409 Conflict Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 200646b5-edb3-45e6-ab64-63030938a263 could not be found", "detail": "Cluster 200646b5-edb3-45e6-ab64-63030938a263 could not be found.", "links": []}]} -PATCH: /v1/clusters/5e74484e-6969-4c8e-a6b6-d02c55e10a7f [{'path': '/node_count', 'value': 4, 'op': 'replace'}] -GOT:Response: 202 Accepted -Content-Type: application/json +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Multiple ClusterTemplates exist with same name", "detail": "Multiple ClusterTemplates exist with same name. Please use the ClusterTemplate uuid instead.", "links": []}]} +DELETE: /v1/federations/55d24b33-0db6-4489-8701-ab4a184a2d56 +GOT:Response: 204 No Content Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "5e74484e-6969-4c8e-a6b6-d02c55e10a7f"} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/?rollback=False [{'path': '/node_count', 'value': 4, 'op': 'replace'}] -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.3 -Vary: OpenStack-API-Version -{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/?rollback=True [{'path': '/node_count', 'value': 4, 'op': 'replace'}] -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.3 -Vary: OpenStack-API-Version -{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/node_count', 'value': 0, 'op': 'replace'}] -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.10 -Vary: OpenStack-API-Version -{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/node_count', 'value': 0, 'op': 'replace'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing a nodegroup to zero is not supported in the provided microversion", "detail": "Resizing a nodegroup to zero is not supported in the provided microversion.", "links": []}]}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_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_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_utils.TestApiUtils.test_validate_limit -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_limit ... ok -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_sort_dir -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_sort_dir ... ok -magnum.tests.unit.api.test_app.TestAppConfig.test_get_pecan_config -magnum.tests.unit.api.test_app.TestAppConfig.test_get_pecan_config ... ok -magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_external_network_with_invalid_network -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.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.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_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.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.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.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_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.test_hooks.TestContextHook.test_context_hook_before_method -magnum.tests.unit.api.test_hooks.TestContextHook.test_context_hook_before_method ... ok -magnum.tests.unit.api.test_hooks.TestContextHook.test_context_hook_before_method_auth_info -magnum.tests.unit.api.test_hooks.TestContextHook.test_context_hook_before_method_auth_info ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_all_three -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_all_three ... ok -magnum.tests.unit.api.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_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.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_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.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_servicegroup.TestServiceGroup.test_service_is_up_down_with_old_update -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_old_update ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_update -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_update ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_forced_down -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_forced_down ... ok -magnum.tests.unit.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.cmd.test_conductor.TestMagnumConductor.test_conductor -magnum.tests.unit.cmd.test_conductor.TestMagnumConductor.test_conductor ... ok -magnum.tests.unit.cmd.test_conductor.TestMagnumConductor.test_conductor_config_workers -magnum.tests.unit.cmd.test_conductor.TestMagnumConductor.test_conductor_config_workers ... ok -magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_revision -magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_revision ... ok -magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_stamp -magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_stamp ... ok -magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_upgrade -magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_upgrade ... ok -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "46470730-8fc0-41d0-8176-c343910fbdec"} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "4af95916-e665-492a-a282-cfec6ae94302"} -POST: /v1/clusters {'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "a6360a73-e5ee-4a2e-97b2-f0682b87597a"} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute cluster_template_id", "detail": "Invalid input for field/attribute cluster_template_id. Value: 'None'. Mandatory field missing.", "links": []}]} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "88978c30-9e9e-42c2-9133-8afbcf7cb920"} -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 -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Resource limit exceeded: You have reached the maximum clusters per project, 1", "detail": "Resource limit exceeded: You have reached the maximum clusters per project, 1. You may delete a cluster to make room for a new one.", "links": []}]} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "039e6038-7f6a-46d9-be13-62bfcbd403a9"} -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 +GET: /v1/federations/55d24b33-0db6-4489-8701-ab4a184a2d56 {} +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "e79b4e8d-38c4-40fb-bdf8-eda17eb9b6b3"} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'clustermodel1', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation 55d24b33-0db6-4489-8701-ab4a184a2d56 could not be found", "detail": "Federation 55d24b33-0db6-4489-8701-ab4a184a2d56 could not be found.", "links": []}]}magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation +magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation_not_found +magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_federation.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.TestListFederation.test_detail +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail ... ok + GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "9f3167ee-e8c5-4234-b3d4-b80e545842aa"} -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} +{"uuid": "0abdd36f-c73d-4a3a-842f-fea5db1715c4"} +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.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "1649a195-efc5-462b-aa22-aa632ceabb29"}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_docker_volume_size -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_docker_volume_size ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_flavor_id -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_flavor_id ... ok -magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_version -magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_version ... ok -magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanCert.test_barbican_cert -magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanCert.test_barbican_cert ... ok -magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanCert.test_barbican_cert_none_values -magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanCert.test_barbican_cert_none_values ... ok -magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_delete_cert -magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_delete_cert ... ok -magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_get_cert -magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_get_cert ... ok -magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_get_cert_no_registration -magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_get_cert_no_registration ... ok -magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_store_cert -magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_store_cert ... ok -magnum.tests.unit.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.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.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.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_invalid_flavor -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_flavor ... ok -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_with_loading_pkp_fail -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_with_loading_pkp_fail ... ok -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_with_loading_private_key_fail -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_with_loading_private_key_fail ... ok -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_without_intermediate -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_without_intermediate ... ok -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_without_pkp -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_without_pkp ... ok -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_store_cert -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_store_cert ... ok -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_store_cert_with_io_error -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_store_cert_with_io_error ... ok -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 -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'fake-uuid'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_delete_cert -magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_delete_cert ... ok -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'fake-uuid'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_get_cert -magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_get_cert ... ok -magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_store_cert -magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_store_cert ... ok - -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': 'm2.small', 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +{"uuid": "9b38a957-17d9-4025-ae26-3c60c676b5c1"} +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.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "c3fd79c2-cdf7-4c56-a52a-844f0d7f6d14"} -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} +{"uuid": "5e876936-f9ab-42f5-a162-f442320fff46"} +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.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute docker_volume_size", "detail": "Invalid input for field/attribute docker_volume_size. 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': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': 'notanint', '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": "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': '8cf4a378-27c4-4b12-adc7-862a65cc8816', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute cluster", "detail": "Invalid input for field/attribute cluster. Value: '{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': 'notanint', '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}'. invalid literal for int() with base 10: 'notanint'", "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': 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} +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "ClusterTemplate 8cf4a378-27c4-4b12-adc7-862a65cc8816 could not be found", "detail": "ClusterTemplate 8cf4a378-27c4-4b12-adc7-862a65cc8816 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.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "docker volume size 1 GB is not valid, expecting minimum value 3GB for devicemapper storage driver", "detail": "docker volume size 1 GB is not valid, expecting minimum value 3GB for devicemapper storage driver.", "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': 2, '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": "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} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "docker volume size 2 GB is not valid, expecting minimum value 3GB for devicemapper storage driver", "detail": "docker volume size 2 GB is not valid, expecting minimum value 3GB for devicemapper storage driver.", "links": []}]} +{"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': 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 @@ -7059,863 +6814,686 @@ Openstack-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-net", "detail": "test-net", "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": "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', '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.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "test-flavor", "detail": "test-flavor", "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: 404 Not Found +{"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.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "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 -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_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.common.policies.test_certificate_policy.TestCertifiactePolicy.test_get_no_permission -magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_get_no_permission ... ok +{"uuid": "bbfcc7f3-ccc9-455c-856c-faede4b13209"}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_timeout_none +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_timeout_none ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_timeout_zero +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_timeout_zero ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail_against_single +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail_against_single ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail_with_pagination_marker +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail_with_pagination_marker ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_empty +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_empty ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_valid_name +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_valid_name ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_zero_node_count +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_zero_node_count ... ok +magnum.tests.unit.api.controllers.v1.test_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 -GOT:Response: 400 Bad Request +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 0, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute cluster", "detail": "Invalid input for field/attribute cluster. Value: '{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': 'invalid', 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False}'. Value not a valid dict: invalid", "links": []}]} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} -GOT:Response: 400 Bad Request +{"uuid": "8af04aa8-7118-4c58-ab68-40e5f4e73de0"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'test_cluster123456', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.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/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': '123456', '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 +{"uuid": "b6c9652f-3f84-4297-a3a8-a9f1d7f1443b"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'test-cluster', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 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/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': '123456test_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: 400 Bad Request +{"uuid": "d93d1c3a-734b-490e-9385-88893c0175b9"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'test.cluster', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: '123456test_cluster'. Value should match the pattern ^[a-zA-Z][a-zA-Z0-9_.-]*$", "links": []}]} -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: 400 Bad Request +{"uuid": "a0f310d8-2fcc-43a2-9406-4373959f6e82"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'testcluster.', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 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': '.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: 400 Bad Request +{"uuid": "4fd6e792-be90-4879-9ee9-1a468a6e9d8d"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'testcluster-', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 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': '_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: 400 Bad Request +{"uuid": "08068f76-90af-42aa-8d60-b87ade04bb78"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'testcluster_', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 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 +{"uuid": "73d9fad3-dc85-48c0-9fc5-b7b79565227b"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'test.-_cluster', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: ''. Value should have a minimum character requirement of 1", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_name -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_name ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_keypair -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_keypair ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_labels -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_labels ... ok -magnum.tests.unit.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.TestPost.test_create_cluster_with_master_count_zero -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_master_count_zero ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_master_flavor_id -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_master_flavor_id ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_merge_labels -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_merge_labels ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.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 - -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} -GOT:Response: 404 Not Found +{"uuid": "655d23a0-b528-4b59-b71f-f7ff730dfe14"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'Testcluster', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "The project_id fake_project could not be found", "detail": "The project_id fake_project could not be found.", "links": []}]} -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 0} -GOT:Response: 201 Created +{"uuid": "9c4eff14-d0f6-44c4-89ee-39d913cc2239"} +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.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.10 Vary: OpenStack-API-Version -{"id": 42, "hard_limit": 0, "project_id": "fake_project", "resource": "Cluster", "created_at": "2026-02-16T23:36:33.246811+00:00", "updated_at": null} -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} -GOT:Response: 201 Created +{"uuid": "1b04928a-22b3-4db6-ae3b-34e7a6da7fb5"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 0, 'master_count': 3, 'merge_labels': False}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_zero_node_count_fail +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_zero_node_count_fail ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_docker_volume_size +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_docker_volume_size ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.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_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 + +DELETE: /v1/federations/2e030956-5111-42a1-8605-0c43ab73d5fc +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2026-02-16T23:36:33.260558+00:00", "updated_at": null} -DELETE: /v1/quotas/fake_project/Cluster +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation 2e030956-5111-42a1-8605-0c43ab73d5fc could not be found", "detail": "Federation 2e030956-5111-42a1-8605-0c43ab73d5fc could not be found.", "links": []}]} +DELETE: /v1/federations/federation-example GOT:Response: 204 No Content Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -GET: /v1/quotas/fake_project/Cluster {} -GOT:Response: 200 OK -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"hard_limit": 20, "project_id": "fake_project", "resource": "Cluster"} -GET: /v1/quotas {} -GOT:{'quotas': []} -GET: /v1/quotas?all_tenants=True {} -GOT:{'quotas': [{'id': 1, 'hard_limit': 10, 'project_id': 'proj-id-0', 'resource': 'Cluster', 'created_at': '2026-02-16T23:36:33.296109+00:00', 'updated_at': None}, {'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2026-02-16T23:36:33.297010+00:00', 'updated_at': None}, {'id': 3, 'hard_limit': 10, 'project_id': 'proj-id-2', 'resource': 'Cluster', 'created_at': '2026-02-16T23:36:33.297719+00:00', 'updated_at': None}, {'id': 4, 'hard_limit': 10, 'project_id': 'proj-id-3', 'resource': 'Cluster', 'created_at': '2026-02-16T23:36:33.298422+00:00', 'updated_at': None}]} -GET: /v1/quotas?all_tenants=False {} -GOT:{'quotas': [{'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2026-02-16T23:36:33.313913+00:00', 'updated_at': None}]} -GET: /v1/quotas?limit=3&marker=3&all_tenants=True {} -GOT:{'quotas': [{'id': 4, 'hard_limit': 10, 'project_id': 'proj-id-3', 'resource': 'Cluster', 'created_at': '2026-02-16T23:36:33.332957+00:00', 'updated_at': None}]} -GET: /v1/quotas {} -GOT:{'quotas': [{'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2026-02-16T23:36:33.349685+00:00', 'updated_at': None}]} -GET: /v1/quotas {} -GOT:{'quotas': [{'id': 3, 'hard_limit': 10, 'project_id': 'proj-id-2', 'resource': 'Cluster', 'created_at': '2026-02-16T23:36:33.366350+00:00', 'updated_at': None}]} -GET: /v1/quotas?all_tenants=True {} -GOT:{'quotas': []} -GET: /v1/quotas?limit=2&all_tenants=True {} -GOT:{'quotas': [{'id': 1, 'hard_limit': 10, 'project_id': 'proj-id-0', 'resource': 'Cluster', 'created_at': '2026-02-16T23:36:33.397800+00:00', 'updated_at': None}, {'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2026-02-16T23:36:33.398552+00:00', 'updated_at': None}], 'next': 'http://localhost/v1/quotas?sort_key=id&sort_dir=asc&limit=2&marker=2'} -GET: /v1/quotas/fake_project/Cluster {} -GOT:{'id': 1, 'hard_limit': 10, 'project_id': 'fake_project', 'resource': 'Cluster', 'created_at': '2026-02-16T23:36:33.414297+00:00', 'updated_at': None} -GET: /v1/quotas/fake_project/Cluster {} -GOT:Response: 200 OK +DELETE: /v1/federations/foo +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"hard_limit": 20, "project_id": "fake_project", "resource": "Cluster"} -GET: /v1/quotas/invalid_proj/invalid_res {} -GOT:Response: 403 Forbidden +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation foo could not be found", "detail": "Federation foo could not be found.", "links": []}]} +GET: /v1/federations/detail {} +GOT:{'federations': [{'uuid': '41f537a3-c4b4-4d48-ae68-1d32e835a020', '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/41f537a3-c4b4-4d48-ae68-1d32e835a020', 'rel': 'self'}, {'href': 'http://localhost/federations/41f537a3-c4b4-4d48-ae68-1d32e835a020', 'rel': 'bookmark'}], 'created_at': '2025-01-14T17:23:44.613702+00:00', 'updated_at': None}]} +GET: /v1/federations/cc97d312-65e6-41fc-a438-2cb68ba45c2e/detail {} +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Not authorized", "detail": "Not authorized.", "links": []}]} -GET: /v1/quotas/fake_project/Cluster {} -GOT:Response: 200 OK +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "The %(name)s resource %(id)s could not be found", "detail": "The %(name)s resource %(id)s could not be found.", "links": []}]} +GET: /v1/federations/detail?limit=3&marker=f935b2bb-c56c-494e-b16d-16f3ebfc002f {} +GOT:{'federations': [{'uuid': '82dab0ac-3aff-4bee-a36f-bd8940b9417f', '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/82dab0ac-3aff-4bee-a36f-bd8940b9417f', 'rel': 'self'}, {'href': 'http://localhost/federations/82dab0ac-3aff-4bee-a36f-bd8940b9417f', 'rel': 'bookmark'}], 'created_at': '2025-01-14T17:23:44.709411+00:00', 'updated_at': None}]} +GET: /v1/federations {} +GOT:{'federations': []} +GET: /v1/federations?limit=3&marker=cea3c6d3-3ae0-4270-ba5e-064a29a4fc50 {} +GOT:{'federations': [{'uuid': '765c5b43-370e-48da-93e7-5b2e5e7acc36', '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/765c5b43-370e-48da-93e7-5b2e5e7acc36', 'rel': 'self'}, {'href': 'http://localhost/federations/765c5b43-370e-48da-93e7-5b2e5e7acc36', 'rel': 'bookmark'}]}]} +GET: /v1/federations/ac909736-06ff-4d38-9c92-740cf612c884 {} +GOT:{'uuid': 'ac909736-06ff-4d38-9c92-740cf612c884', '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/ac909736-06ff-4d38-9c92-740cf612c884', 'rel': 'self'}, {'href': 'http://localhost/federations/ac909736-06ff-4d38-9c92-740cf612c884', 'rel': 'bookmark'}], 'created_at': '2025-01-14T17:23:44.849269+00:00', 'updated_at': None} +GET: /v1/federations/fake-name {} +GOT:{'uuid': '4561994b-d871-42f4-8263-3e80fd117c0e', '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/4561994b-d871-42f4-8263-3e80fd117c0e', 'rel': 'self'}, {'href': 'http://localhost/federations/4561994b-d871-42f4-8263-3e80fd117c0e', 'rel': 'bookmark'}], 'created_at': '2025-01-14T17:23:44.897184+00:00', 'updated_at': None} +GET: /v1/federations/test_federation {} +GOT:Response: 409 Conflict Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"hard_limit": 15, "project_id": "fake_project", "resource": "Cluster"} -GET: /v1/quotas {} -GOT:{'quotas': [{'id': 1, 'hard_limit': 10, 'project_id': 'fake_project', 'resource': 'Cluster', 'created_at': '2026-02-16T23:36:33.469218+00:00', 'updated_at': None}]} -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 5} -GOT:Response: 201 Created +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Multiple federations exist with same name", "detail": "Multiple federations exist with same name. Please use the federation uuid instead.", "links": []}]} +GET: /v1/federations/not_found {} +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"id": 42, "hard_limit": 5, "project_id": "fake_project", "resource": "Cluster", "created_at": "2026-02-16T23:36:33.487416+00:00", "updated_at": null} -PATCH: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 20} -GOT:Response: 202 Accepted +{"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/64be07d3-e683-4b5f-b983-ac4c271ec9d5 {} +GOT:{'uuid': '64be07d3-e683-4b5f-b983-ac4c271ec9d5', '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/64be07d3-e683-4b5f-b983-ac4c271ec9d5', 'rel': 'self'}, {'href': 'http://localhost/federations/64be07d3-e683-4b5f-b983-ac4c271ec9d5', 'rel': 'bookmark'}], 'created_at': '2025-01-14T17:23:45.024746+00:00', 'updated_at': None} +GET: /v1/federations/94b1a31a-3b9d-413f-9ec5-45889cd8ac89 {} +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"id": 42, "hard_limit": 20, "project_id": "fake_project", "resource": "Cluster", "created_at": "2026-02-16T23:36:33.487416+00:00", "updated_at": "2026-02-16T23:36:33.493278+00:00"} -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} -GOT:Response: 201 Created +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation 94b1a31a-3b9d-413f-9ec5-45889cd8ac89 could not be found", "detail": "Federation 94b1a31a-3b9d-413f-9ec5-45889cd8ac89 could not be found.", "links": []}]} +GET: /v1/federations/87b14d38-b6b9-4ed8-b64f-53148002de17 {} +GOT:{'uuid': '87b14d38-b6b9-4ed8-b64f-53148002de17', '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/87b14d38-b6b9-4ed8-b64f-53148002de17', 'rel': 'self'}, {'href': 'http://localhost/federations/87b14d38-b6b9-4ed8-b64f-53148002de17', 'rel': 'bookmark'}], 'created_at': '2025-01-14T17:23:45.106342+00:00', 'updated_at': None} +GET: /v1/federations/87b14d38-b6b9-4ed8-b64f-53148002de17 {} +GOT:{'uuid': '87b14d38-b6b9-4ed8-b64f-53148002de17', '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/87b14d38-b6b9-4ed8-b64f-53148002de17', 'rel': 'self'}, {'href': 'http://localhost/federations/87b14d38-b6b9-4ed8-b64f-53148002de17', 'rel': 'bookmark'}], 'created_at': '2025-01-14T17:23:45.106342+00:00', 'updated_at': None} +GET: /federations/87b14d38-b6b9-4ed8-b64f-53148002de17 {} +GOT:{'uuid': '87b14d38-b6b9-4ed8-b64f-53148002de17', '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/87b14d38-b6b9-4ed8-b64f-53148002de17', 'rel': 'self'}, {'href': 'http://localhost/federations/87b14d38-b6b9-4ed8-b64f-53148002de17', 'rel': 'bookmark'}], 'created_at': '2025-01-14T17:23:45.106342+00:00', 'updated_at': None}magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_links +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_links ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_many +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_many ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_one +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_one ... ok +magnum.tests.unit.api.controllers.v1.test_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_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_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_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_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_federation.TestPatch.test_member_join +magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_member_join ... ok +magnum.tests.unit.api.controllers.v1.test_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_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_cluster.TestPost.test_create_cluster_without_name +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_name ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_unjoin_non_existent_cluster +magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_unjoin_non_existent_cluster ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplateObject.test_cluster_template_init +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplateObject.test_cluster_template_init ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.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_federation.TestPatch.test_unjoin_non_member_cluster +magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_unjoin_non_member_cluster ... ok +magnum.tests.unit.api.controllers.v1.test_magnum_service.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_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_delete +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_delete ... ok + +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.9 Vary: OpenStack-API-Version -{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2026-02-16T23:36:33.506942+00:00", "updated_at": null} -PATCH: /v1/quotas {'project_id': 'not-found', 'hard_limit': 20, 'resource': 'Cluster'} -GOT:Response: 404 Not Found +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing a nodegroup to zero is not supported in the provided microversion", "detail": "Resizing a nodegroup to zero is not supported in the provided microversion.", "links": []}]} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Quota could not be found: project_id not-found resource Cluster", "detail": "Quota could not be found: project_id not-found resource Cluster.", "links": []}]} -GET: /v1/stats {} -GOT:{'clusters': 2, 'nodes': 12} -GET: /v1/stats?project_id=34 {} -GOT:{'clusters': 0, 'nodes': 0} -GET: /v1/stats?project_id=234 {} -GOT:{'clusters': 1, 'nodes': 6} -GET: /v1/stats {} -GOT:{'clusters': 0, 'nodes': 0} -GET: /v1/stats?project_id=123&type=invalid {} -GET: /v1/stats {} -GOT:{'clusters': 1, 'nodes': 6} -GET: /v1/stats {} -GOT:{'clusters': 1, 'nodes': 6} -GET: /v1/stats?project_id=123 {} -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}magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_create_no_permission -magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_create_no_permission ... ok -magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_delete_no_permission -magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_delete_no_permission ... ok -magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_get_all_no_permission -magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_get_all_no_permission ... ok -magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_get_no_permission -magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_get_no_permission ... ok -magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_update_no_permission -magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_update_no_permission ... ok -magnum.tests.unit.common.policies.test_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.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_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 - -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": "0ac30d68-3551-435a-93af-6956a298b4be"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "f3febe57-a1dd-43a1-b8e4-6131388243e6"} -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": "5e6fbf0b-d729-4089-87ce-1926c92e568e"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "88d56b9e-ef7a-45fd-ac68-f7c24aa1eaf0"} -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 +{"uuid": "5fffbfaf-8d9d-42fd-a2cb-fac40ac2a8d5"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"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} +{"uuid": "00bccc2e-76b9-4559-8668-2e972694310b"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "1f6d885a-1300-435c-9ac8-0f7f4e4e5dbf"} -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} +{"uuid": "292c5883-1034-4e70-ad93-827789b76b26"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': {'label2': 'value3', 'label4': 'value4'}, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "5db3da86-17c8-4803-9432-e909132d70c8"} -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} +{"uuid": "4d680898-8666-4aa0-8f9d-289543f123bd"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "cfe150aa-a914-4f71-a8df-8dab9d8a84a0"} -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 +{"uuid": "12131822-135c-4c7c-8931-9905322825d6"} +POST: /v1/clustertemplates {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'image_id': 'ubuntu', 'flavor_id': 'm1.small', 'master_flavor_id': 'm1.small', 'keypair_id': 'keypair1', 'external_network_id': 'd1f02cfb-d27f-4068-9332-84d907cb0e2e', 'fixed_network': 'private', 'fixed_subnet': 'private-subnet', 'network_driver': None, 'volume_driver': None, 'dns_nameserver': '8.8.1.1', 'apiserver_port': 8080, 'docker_volume_size': 20, 'docker_storage_driver': 'devicemapper', 'cluster_distro': 'fedora-coreos', 'coe': 'kubernetes', 'labels': {'key1': 'val1', 'key2': 'val2'}, 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'registry_enabled': False, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'hidden': False, 'tags': '', 'driver': ''} +GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 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": 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 Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "keypair2", "detail": "keypair2", "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} -GOT:Response: 400 Bad Request +{"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/82b77f49-9a6c-4567-9743-31e58b7eb9d3/detail {} +GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 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}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_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_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_delete_no_permission -magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_delete_no_permission ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.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_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_timeout -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_timeout ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_node_count_negative -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_node_count_negative ... ok -magnum.tests.unit.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_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.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.test_clients.ClientsTest.test_clients_barbican -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_cached -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_cached ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_noauth -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_noauth ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_region -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_region ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance ... ok -magnum.tests.unit.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.test_clients.ClientsTest.test_clients_glance_cached -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_cached ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_noauth -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_noauth ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_region -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_region ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_cached -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_cached ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_noauth -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_noauth ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_region -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_region ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron ... ok -magnum.tests.unit.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.common.test_clients.ClientsTest.test_clients_neutron_cached -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_cached ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_noauth -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_noauth ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_region -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_region ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_on_os_distro_image -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_on_os_distro_image ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_cached -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_cached ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_noauth -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_noauth ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_region -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_region ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_magnum_url -magnum.tests.unit.common.test_clients.ClientsTest.test_magnum_url ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_url_for -magnum.tests.unit.common.test_clients.ClientsTest.test_url_for ... ok -magnum.tests.unit.common.test_exception.TestException.test_all_exceptions -magnum.tests.unit.common.test_exception.TestException.test_all_exceptions ... ok -magnum.tests.unit.common.test_exception.TestException.test_custom_message_is_templated -magnum.tests.unit.common.test_exception.TestException.test_custom_message_is_templated ... ok -magnum.tests.unit.common.test_exception.TestException.test_message_is_templated -magnum.tests.unit.common.test_exception.TestException.test_message_is_templated ... ok -magnum.tests.unit.common.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 +{"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": []}]}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 -GOT:Response: 202 Accepted +GET: /v1/federations {} +GOT:{'federations': [{'uuid': '29ca85bd-3dfa-4021-a202-411722fab271', '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/29ca85bd-3dfa-4021-a202-411722fab271', 'rel': 'self'}, {'href': 'http://localhost/federations/29ca85bd-3dfa-4021-a202-411722fab271', 'rel': 'bookmark'}]}, {'uuid': '5e821d2c-cb00-4813-a4ac-08e518fe6986', '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/5e821d2c-cb00-4813-a4ac-08e518fe6986', 'rel': 'self'}, {'href': 'http://localhost/federations/5e821d2c-cb00-4813-a4ac-08e518fe6986', 'rel': 'bookmark'}]}, {'uuid': '2f8d918e-fcc8-426a-860f-871c3df1e904', '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/2f8d918e-fcc8-426a-860f-871c3df1e904', 'rel': 'self'}, {'href': 'http://localhost/federations/2f8d918e-fcc8-426a-860f-871c3df1e904', 'rel': 'bookmark'}]}, {'uuid': '43b1732d-d72e-494a-942c-21f818442fc0', '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/43b1732d-d72e-494a-942c-21f818442fc0', 'rel': 'self'}, {'href': 'http://localhost/federations/43b1732d-d72e-494a-942c-21f818442fc0', 'rel': 'bookmark'}]}, {'uuid': 'bd5e76eb-40c0-41a2-9195-c8165d11bcf6', '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/bd5e76eb-40c0-41a2-9195-c8165d11bcf6', 'rel': 'self'}, {'href': 'http://localhost/federations/bd5e76eb-40c0-41a2-9195-c8165d11bcf6', 'rel': 'bookmark'}]}]} +GET: /v1/federations {} +GOT:{'federations': [{'uuid': 'e6b54c79-5ae7-4bdb-b56e-fd5692429cfc', '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/e6b54c79-5ae7-4bdb-b56e-fd5692429cfc', 'rel': 'self'}, {'href': 'http://localhost/federations/e6b54c79-5ae7-4bdb-b56e-fd5692429cfc', 'rel': 'bookmark'}]}]} +PATCH: /v1/federations/639406b7-511b-413b-b228-4d5f4ca53464 [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'add'}] +GOT:Response: 409 Conflict Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "3ee65297-6b14-42ef-a6cc-187636e4f196"} -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 +{"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/a7b7533e-7c43-45c4-a31f-2237d7471afc [{'path': '/member_ids', 'value': '8e9d9698-51a1-48ae-8631-67cb7e69c455', 'op': 'add'}] +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "62cf8b82-9a32-4171-bb5c-4a4d96b35e79"} -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} +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 8e9d9698-51a1-48ae-8631-67cb7e69c455 could not be found", "detail": "Cluster 8e9d9698-51a1-48ae-8631-67cb7e69c455 could not be found.", "links": []}]} +PATCH: /v1/federations/63e6a20e-eec2-4e40-a0a8-af8d393b5b65 [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'add'}] GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "d7fcc6fe-d5e4-4abf-83b2-a089bb8f0c3a"} -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": "63e6a20e-eec2-4e40-a0a8-af8d393b5b65"} +GET: /v1/federations/63e6a20e-eec2-4e40-a0a8-af8d393b5b65 {} +GOT:{'uuid': '63e6a20e-eec2-4e40-a0a8-af8d393b5b65', '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/63e6a20e-eec2-4e40-a0a8-af8d393b5b65', 'rel': 'self'}, {'href': 'http://localhost/federations/63e6a20e-eec2-4e40-a0a8-af8d393b5b65', 'rel': 'bookmark'}], 'created_at': '2025-01-14T17:23:45.362581+00:00', 'updated_at': '2025-01-14T17:23:45.387709+00:00'} +PATCH: /v1/federations/b609856d-6755-47d0-b5ef-64e6b3e12374 [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'remove'}] GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "2446ddd8-30ff-4b3f-8f8f-55431f9fb033"} -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.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute node_count", "detail": "Invalid input for field/attribute node_count. Value: '-1'. Value should be greater or equal to 0", "links": []}]} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': '7aba15d4-8e12-4589-a75c-4131ad432ac2', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "ClusterTemplate 7aba15d4-8e12-4589-a75c-4131ad432ac2 could not be found", "detail": "ClusterTemplate 7aba15d4-8e12-4589-a75c-4131ad432ac2 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 +{"uuid": "b609856d-6755-47d0-b5ef-64e6b3e12374"} +GET: /v1/federations/b609856d-6755-47d0-b5ef-64e6b3e12374 {} +GOT:{'uuid': 'b609856d-6755-47d0-b5ef-64e6b3e12374', '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/b609856d-6755-47d0-b5ef-64e6b3e12374', 'rel': 'self'}, {'href': 'http://localhost/federations/b609856d-6755-47d0-b5ef-64e6b3e12374', 'rel': 'bookmark'}], 'created_at': '2025-01-14T17:23:45.426933+00:00', 'updated_at': '2025-01-14T17:23:45.443520+00:00'} +PATCH: /v1/federations/b2db8c3a-0bbe-4eaf-a47d-726cf4a76a25 [{'path': '/member_ids', 'value': 'bd170372-ca50-4045-8011-ebc4a4af01b5', 'op': 'remove'}] +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 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} -GOT:Response: 400 Bad Request +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster bd170372-ca50-4045-8011-ebc4a4af01b5 could not be found", "detail": "Cluster bd170372-ca50-4045-8011-ebc4a4af01b5 could not be found.", "links": []}]} +PATCH: /v1/federations/1ef4b83b-c48a-4f1b-a9d9-d2ca33a4e3dc [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'remove'}] +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 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': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} -GOT:Response: 400 Bad Request +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 is not a member of the federation federation-example", "detail": "Cluster 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 is not a member of the federation federation-example.", "links": []}]} +GET: /v1/mservices {} +GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "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', '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 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.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute create_timeout", "detail": "Invalid input for field/attribute create_timeout. Value: '-1'. Value should be greater or equal to 0", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_timeout_negative -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_timeout_negative ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_timeout_none -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_timeout_none ... ok -magnum.tests.unit.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.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.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.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 +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup not-there could not be found", "detail": "Nodegroup not-there could not be found.", "links": []}]}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_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_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_template.TestPatch.test_create_cluster_template_with_no_os_distro_image +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_create_cluster_template_with_no_os_distro_image ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_wrong_microversion +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_wrong_microversion ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestNodeGroupPolicyEnforcement.test_policy_disallow_get_all +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestNodeGroupPolicyEnforcement.test_policy_disallow_get_all ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestNodeGroupPolicyEnforcement.test_policy_disallow_get_one +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestNodeGroupPolicyEnforcement.test_policy_disallow_get_one ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestNodegroupObject.test_nodegroup_init +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestNodegroupObject.test_nodegroup_init ... ok -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.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "ce3b59a8-5042-4c53-b165-0176bde2a616"} -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 +GET: /v1/clustertemplates {} +GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "8463f219-fcbd-4ce5-b2d5-59497cd1467a"} -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 +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:get_all to be performed", "detail": "Policy doesn't allow clustertemplate:get_all to be performed.", "links": []}]} +GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} +GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "ed2102a2-37f8-4d9a-a756-6136555cd5e4"} -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": 403, "title": "Policy doesn't allow clustertemplate:get to be performed", "detail": "Policy doesn't allow clustertemplate:get to be performed.", "links": []}]} +PATCH: /v1/clustertemplates/example_A [{'path': '/name', 'value': 'new_name', 'op': 'replace'}] +GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "4c894f28-3b77-453f-a775-0d6e56dc0364"} -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": 403, "title": "Policy doesn't allow clustertemplate:update to be performed", "detail": "Policy doesn't allow clustertemplate:update to be performed.", "links": []}]} +DELETE: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 +GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "3d0f686b-bb52-4eda-8cdf-07b7f4f5e47c"} -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 +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:delete to be performed", "detail": "Policy doesn't allow clustertemplate:delete to be performed.", "links": []}]} +GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} +GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "96f87447-25b1-4ce7-8637-d65d7f79eeda"} -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 +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:get to be performed", "detail": "Policy doesn't allow clustertemplate:get to be performed.", "links": []}]} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/name', 'value': 'new_name', 'op': 'replace'}] +GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "cd776589-c50f-4bd1-874e-ad6d3a0a9ff5"} -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 +{"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/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.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "ba52c67a-7955-4969-9688-a380ccdeb5fa"} -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": 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.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "884c6006-27bd-4166-8025-2e7223fcacf3"} -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 +{"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.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "76b54dbe-3537-4206-9fa8-cba300209bc7"} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 0, 'master_count': 3, 'merge_labels': False}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_zero_node_count -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_zero_node_count ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_zero_node_count_fail -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_zero_node_count_fail ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_docker_volume_size -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_docker_volume_size ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_flavor_id -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_flavor_id ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_keypair -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_keypair ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_labels -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_labels ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_master_flavor_id -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_master_flavor_id ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_merge_labels -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_merge_labels ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_name -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_name ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplateObject.test_cluster_template_init -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplateObject.test_cluster_template_init ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_as_admin -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_as_admin ... ok - -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.10 -Vary: OpenStack-API-Version -{"uuid": "8c3f158d-518b-4c36-9c2f-b933e40c512c"} -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} +{"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.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing a nodegroup to zero is not supported in the provided microversion", "detail": "Resizing a nodegroup to zero is not supported in the provided microversion.", "links": []}]} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "610f3de4-e8a0-41fd-9e81-a7ac21bebdb2"} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} -GOT:Response: 202 Accepted +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/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.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "31ab0d90-f076-4a37-b149-ec9978a71b29"} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} -GOT:Response: 202 Accepted +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/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.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "353e0c12-532a-453f-9606-9ef5f7660bb3"} -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 +{"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.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "3ee79056-1a46-46d9-85fc-d3384a6abcae"} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} -GOT:Response: 202 Accepted +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/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'}] +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "ba62fedb-97e8-4e4d-ac8a-757e74f201fc"} -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 +{"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.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "795c6919-02ee-4da4-9f1d-1c574a1516a6"} -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 +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/registry_enabled' is a mandatory attribute and can not be removed", "detail": "'/registry_enabled' is a mandatory attribute and can not be removed", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_mandatory_property_fail +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_mandatory_property_fail ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_non_existent_property_fail +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_non_existent_property_fail ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_internal_attr +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_internal_attr ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_singular +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_singular ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_uuid +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_uuid ... ok +magnum.tests.unit.api.controllers.v1.test_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_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_nodegroup.TestPatch.test_remove_non_existent_property +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_non_existent_property ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_flavor_id +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_flavor_id ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_image_id +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_image_id ... ok + +DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/25f41457-76fa-437f-a53a-695dd3a5d302 +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"uuid": "e1a8ee77-00d3-4392-bfc2-ec30c454039b"} -DELETE: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Deleting a default nodegroup is not supported", "detail": "Deleting a default nodegroup is not supported.", "links": []}]} +DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 GOT:Response: 204 No Content Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "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/77f3107a-07c8-443a-82d5-9be347486074 +{"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/25f80d67-d7de-4909-b8af-04f43fdb9815/nodegroups/7d82e60f-31df-4705-9a8d-fe0b230b1c8d GOT:Response: 204 No Content Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version - -DELETE: /v1/clustertemplates/a0a11b59-04de-4fab-82b0-9c577088eb57 -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "ClusterTemplate a0a11b59-04de-4fab-82b0-9c577088eb57 could not be found", "detail": "ClusterTemplate a0a11b59-04de-4fab-82b0-9c577088eb57 could not be found.", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_not_found -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_cluster -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_cluster ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_name -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_name ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_name_not_found -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_name_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_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 -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 -DELETE: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "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 +DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 GOT:Response: 204 No Content Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -DELETE: /v1/clustertemplates/not_found +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "ClusterTemplate not_found could not be found", "detail": "ClusterTemplate not_found could not be found.", "links": []}]} -DELETE: /v1/clustertemplates/test_cluster_template -GOT:Response: 409 Conflict -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.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.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Adding a new attribute /foo to the root of the resource is not allowed", "detail": "Adding a new attribute /foo to the root of the resource is not allowed.", "links": []}]} -PATCH: /v1/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.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "img", "detail": "img", "links": []}]} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/image_id', 'op': 'remove'}] -GOT:Response: 400 Bad Request +{"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/90aaf7fa-d3d2-43b6-8f33-09c2742d4c7e +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 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 +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup 90aaf7fa-d3d2-43b6-8f33-09c2742d4c7e could not be found", "detail": "Nodegroup 90aaf7fa-d3d2-43b6-8f33-09c2742d4c7e 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 -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/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 +{"errors": [{"request_id": "", "code": "", "status": 406, "title": "", "detail": "", "links": []}]} +GET: /v1/clusters/6cc253d2-71d1-47fd-90a9-bc8567708d0e/nodegroups {} +GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 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 +{"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/7bffefaa-414f-4dba-83dc-0c12bec95e44/nodegroups/c2eab729-f80f-44ff-b7a9-c70e92aaa2b8 {} +GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"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'}] +{"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.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/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'}] -GOT:Response: 400 Bad Request +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/node_count' is an internal attribute and can not be updated", "detail": "'/node_count' is an internal attribute and can not be updated", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/min_node_count', 'op': 'remove'}] +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 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'}] +{"id": 12, "uuid": "483203a3-dbee-4a9c-9d65-9820512f4df8", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 2, "role": "worker", "min_node_count": 0, "max_node_count": 5, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2025-01-14T17:23:46.114858+00:00", "updated_at": null} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 {} +GOT:{'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'cluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 2, 'role': 'worker', 'min_node_count': 0, 'max_node_count': 5, 'is_default': False, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2025-01-14T17:23:46.114858+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/not_there', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/registry_enabled' is a mandatory attribute and can not be removed", "detail": "'/registry_enabled' is a mandatory attribute and can not be removed", "links": []}]} +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "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'}] PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/cluster_distro', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json @@ -7939,23 +7517,9 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Couldn't apply patch '[{'path': '/non-existent', 'op': 'remove'}]'", "detail": "Couldn't apply patch '[{'path': '/non-existent', 'op': 'remove'}]'. Reason: can't remove a non-existent object 'non-existent'", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_non_existent_property_fail -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_non_existent_property_fail ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_singular -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_singular ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_uuid -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_uuid ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_external_network_id -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_external_network_id ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_flavor_id -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_flavor_id ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_image_id -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_image_id ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_keypair_id -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_keypair_id ... ok - +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Couldn't apply patch '[{'path': '/non-existent', 'op': 'remove'}]'", "detail": "Couldn't apply patch '[{'path': '/non-existent', 'op': 'remove'}]'. Reason: can't remove a non-existent object 'non-existent'", "links": []}]} GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2026-02-16T23:36:35.494287+00:00', 'updated_at': None} +GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2025-01-14T17:23:46.044444+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 @@ -7963,9 +7527,9 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": null, "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2026-02-16T23:36:35.494287+00:00", "updated_at": null} +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": null, "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2025-01-14T17:23:46.044444+00:00", "updated_at": null} GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': None, 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2026-02-16T23:36:35.494287+00:00', 'updated_at': '2026-02-16T23:36:35.526509+00:00'} +GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': None, 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2025-01-14T17:23:46.044444+00:00', 'updated_at': '2025-01-14T17:23:46.085008+00:00'} PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json @@ -8005,75 +7569,143 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "aaa", "detail": "aaa", "links": []}]} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/name', 'value': 'cluster_model_example_B', 'op': 'replace'}] -GOT:Response: 200 OK -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_B", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2026-02-16T23:36:35.637780+00:00", "updated_at": null} -GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {}magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_singular +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "aaa", "detail": "aaa", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_keypair_id +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_keypair_id ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_singular magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_singular ... ok magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_as_admin magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_as_admin ... ok +magnum.tests.unit.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_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_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 -GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_B', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2026-02-16T23:36:35.637780+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} -PATCH: /v1/clustertemplates/6b3cf885-b0ae-4faa-b8b7-59d91afc97fa [{'path': '/name', 'value': 'cluster_model_example_B', 'op': 'replace'}] +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/name', 'value': 'cluster_model_example_B', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "6b3cf885-b0ae-4faa-b8b7-59d91afc97fa", "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/6b3cf885-b0ae-4faa-b8b7-59d91afc97fa", "rel": "self"}, {"href": "http://localhost/clustertemplates/6b3cf885-b0ae-4faa-b8b7-59d91afc97fa", "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": "6b3cf885-b0ae-4faa-b8b7-59d91afc97fa", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2026-02-16T23:36:35.684235+00:00", "updated_at": null} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/hidden', 'value': True, 'op': 'replace'}] +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_B", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2025-01-14T17:23:46.345868+00:00", "updated_at": null} +GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} +GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_B', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2025-01-14T17:23:46.345868+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} +PATCH: /v1/clustertemplates/957b3212-a6a9-444f-9ef5-f33f2d02bfa5 [{'path': '/name', 'value': 'cluster_model_example_B', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": true, "tags": "", "driver": "", "created_at": "2026-02-16T23:36:35.713478+00:00", "updated_at": null} -GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': True, 'tags': '', 'driver': '', 'created_at': '2026-02-16T23:36:35.713478+00:00', 'updated_at': '2026-02-16T23:36:35.732846+00:00'} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/name', 'value': 'cluster_model_example_B', 'op': 'replace'}] +{"uuid": "957b3212-a6a9-444f-9ef5-f33f2d02bfa5", "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/957b3212-a6a9-444f-9ef5-f33f2d02bfa5", "rel": "self"}, {"href": "http://localhost/clustertemplates/957b3212-a6a9-444f-9ef5-f33f2d02bfa5", "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": "957b3212-a6a9-444f-9ef5-f33f2d02bfa5", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2025-01-14T17:23:46.417180+00:00", "updated_at": null} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/hidden', 'value': True, 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_B", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2026-02-16T23:36:35.748407+00:00", "updated_at": null} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/labels', 'value': "{'etcd_volume_size': '1'}", 'op': 'replace'}] +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": true, "tags": "", "driver": "", "created_at": "2025-01-14T17:23:46.468552+00:00", "updated_at": null} +GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} +GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': True, 'tags': '', 'driver': '', 'created_at': '2025-01-14T17:23:46.468552+00:00', 'updated_at': '2025-01-14T17:23:46.507169+00:00'} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/name', 'value': 'cluster_model_example_B', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"etcd_volume_size": "1"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2026-02-16T23:36:35.779338+00:00", "updated_at": null}magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_replace_labels_success +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_B", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2025-01-14T17:23:46.544453+00:00", "updated_at": null}magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_name_with_cluster +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_name_with_cluster ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_replace_labels_success magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_replace_labels_success ... ok magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_with_cluster magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_with_cluster ... ok +magnum.tests.unit.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_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 + +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"id": 12, "uuid": "483203a3-dbee-4a9c-9d65-9820512f4df8", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 2, "role": "worker", "min_node_count": 2, "max_node_count": null, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2025-01-14T17:23:46.242493+00:00", "updated_at": null} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 {} +GOT:{'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'cluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 2, 'role': 'worker', 'min_node_count': 2, 'max_node_count': None, 'is_default': False, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2025-01-14T17:23:46.242493+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/max_node_count', 'value': 1, 'op': 'replace'}] +GOT:Response: 409 Conflict +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "max_node_count for nodegroup1 is invalid (min_node_count (2) should be less or equal to max_node_count (1))", "detail": "max_node_count for nodegroup1 is invalid (min_node_count (2) should be less or equal to max_node_count (1)).", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/min_node_count', 'value': 3, 'op': 'replace'}] +GOT:Response: 409 Conflict +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "min_node_count for nodegroup1 is invalid (min_node_count (3) should be less or equal to node_count (2))", "detail": "min_node_count for nodegroup1 is invalid (min_node_count (3) should be less or equal to node_count (2)).", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/node_count', 'value': 3, 'op': 'replace'}] +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/node_count' is an internal attribute and can not be updated", "detail": "'/node_count' is an internal attribute and can not be updated", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 [{'path': '/max_node_count', 'value': 4, 'op': 'replace'}] +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"id": 12, "uuid": "483203a3-dbee-4a9c-9d65-9820512f4df8", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 2, "role": "worker", "min_node_count": 2, "max_node_count": 4, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2025-01-14T17:23:46.689486+00:00", "updated_at": null} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 {} +GOT:{'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'cluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 2, 'role': 'worker', 'min_node_count': 2, 'max_node_count': 4, 'is_default': False, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2025-01-14T17:23:46.689486+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/max_node_count', 'value': 4, 'op': 'replace'}] +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"id": 12, "uuid": "483203a3-dbee-4a9c-9d65-9820512f4df8", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 2, "role": "worker", "min_node_count": 2, "max_node_count": 4, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2025-01-14T17:23:46.759247+00:00", "updated_at": null} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 {}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_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_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.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.api.controllers.v1.test_nodegroup.TestPatch.test_update_nodegroup_as_admin +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_update_nodegroup_as_admin ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_master_ng +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_master_ng ... ok +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/labels', 'value': "{'etcd_volume_size': '1'}", 'op': 'replace'}] +GOT:Response: 200 OK +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"etcd_volume_size": "1"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2025-01-14T17:23:46.613760+00:00", "updated_at": null} GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'etcd_volume_size': '1'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2026-02-16T23:36:35.779338+00:00', 'updated_at': '2026-02-16T23:36:35.793861+00:00'} +GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'etcd_volume_size': '1'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2025-01-14T17:23:46.613760+00:00', 'updated_at': '2025-01-14T17:23:46.642973+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 @@ -8089,9 +7721,9 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": true, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2026-02-16T23:36:35.855764+00:00", "updated_at": null} +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": true, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2025-01-14T17:23:46.744765+00:00", "updated_at": null} GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': True, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2026-02-16T23:36:35.855764+00:00', 'updated_at': '2026-02-16T23:36:35.876153+00:00'} +GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': True, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2025-01-14T17:23:46.744765+00:00', 'updated_at': '2025-01-14T17:23:46.785958+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 @@ -8099,314 +7731,160 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2026-02-16T23:36:35.891898+00:00", "updated_at": null} +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2025-01-14T17:23:46.822348+00:00", "updated_at": null} PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/hidden', 'value': True, 'op': 'replace'}] -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/hidden', 'value': True, 'op': 'replace'}] -GOT:Response: 200 OK -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": true, "tags": "", "driver": "", "created_at": "2026-02-16T23:36:35.939850+00:00", "updated_at": null} -GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': True, 'tags': '', 'driver': '', 'created_at': '2026-02-16T23:36:35.939850+00:00', 'updated_at': '2026-02-16T23:36:35.951794+00:00'}magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_hidden_cluster_template_success +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/hidden', 'value': True, 'op': 'replace'}]magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_hidden_cluster_template_success magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_hidden_cluster_template_success ... ok magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_not_found magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_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_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.test_rpc.TestRpc.test_add_extra_exmods -magnum.tests.unit.common.test_rpc.TestRpc.test_add_extra_exmods ... ok -magnum.tests.unit.common.test_rpc.TestRpc.test_cleanup -magnum.tests.unit.common.test_rpc.TestRpc.test_cleanup ... ok -magnum.tests.unit.common.test_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_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_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_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.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_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.TestDelete.test_delete_federation_not_found -magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation_not_found ... ok -magnum.tests.unit.common.test_rpc.TestRpc.test_serialize_entity -magnum.tests.unit.common.test_rpc.TestRpc.test_serialize_entity ... ok -magnum.tests.unit.common.test_service.TestMagnumService.test_prepare_service_with_argv_none -magnum.tests.unit.common.test_service.TestMagnumService.test_prepare_service_with_argv_none ... ok -magnum.tests.unit.common.test_service.TestMagnumService.test_prepare_service_with_argv_not_none -magnum.tests.unit.common.test_service.TestMagnumService.test_prepare_service_with_argv_not_none ... ok -magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_12 -magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_12 ... ok -magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_16 -magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_16 ... ok -magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_60 -magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_60 ... ok -magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_8 -magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_8 ... ok -magnum.tests.unit.common.test_short_id.ShortIdTest.test_generate_ids -magnum.tests.unit.common.test_short_id.ShortIdTest.test_generate_ids ... ok -magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_string -magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_string ... ok -magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid1 -magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid1 ... ok -magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_0 -magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_0 ... ok -magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_1 -magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_1 ... ok -magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_endianness -magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_endianness ... ok -magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_f -magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_f ... ok -magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get -magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get ... ok -magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get_exceed_manifest_size -magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get_exceed_manifest_size ... ok -magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get_unsupported_scheme -magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get_unsupported_scheme ... ok -magnum.tests.unit.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.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_detail -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables ... ok -magnum.tests.unit.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_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_without_root_helper -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_without_root_helper ... ok -magnum.tests.unit.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_utils.ExecuteTestCase.test_no_retry_on_success -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_no_retry_on_success ... ok -magnum.tests.unit.api.controllers.v1.test_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_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_federation.TestPost.test_create_federation +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_generate_uuid +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_generate_uuid ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_with_merge_labels +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_with_merge_labels ... ok -PATCH: /v1/clustertemplates/c114e457-52d4-4cb8-954d-c6f317316657 [{'path': '/name', 'value': 'cluster_model_example_B', 'op': 'add'}] -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "ClusterTemplate c114e457-52d4-4cb8-954d-c6f317316657 could not be found", "detail": "ClusterTemplate c114e457-52d4-4cb8-954d-c6f317316657 could not be found.", "links": []}]} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/public', 'value': True, 'op': 'replace'}] -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/public', 'value': True, 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": true, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2026-02-16T23:36:36.006058+00:00", "updated_at": null} +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": true, "tags": "", "driver": "", "created_at": "2025-01-14T17:23:46.924874+00:00", "updated_at": null} GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': True, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2026-02-16T23:36:36.006058+00:00', 'updated_at': '2026-02-16T23:36:36.017532+00:00'} -DELETE: /v1/federations/4c9d05ce-fe3c-4a25-9a76-0ad699c3449c -GOT:Response: 204 No Content -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version - -GET: /v1/federations/4c9d05ce-fe3c-4a25-9a76-0ad699c3449c {} +GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': True, 'tags': '', 'driver': '', 'created_at': '2025-01-14T17:23:46.924874+00:00', 'updated_at': '2025-01-14T17:23:46.946664+00:00'} +PATCH: /v1/clustertemplates/d6c1223c-b2a5-41e9-80e0-6de5b2d491e1 [{'path': '/name', 'value': 'cluster_model_example_B', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation 4c9d05ce-fe3c-4a25-9a76-0ad699c3449c could not be found", "detail": "Federation 4c9d05ce-fe3c-4a25-9a76-0ad699c3449c could not be found.", "links": []}]} -DELETE: /v1/federations/907c7ad2-e01f-42ac-9f03-7a8596ea519e -GOT:Response: 404 Not Found +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "ClusterTemplate d6c1223c-b2a5-41e9-80e0-6de5b2d491e1 could not be found", "detail": "ClusterTemplate d6c1223c-b2a5-41e9-80e0-6de5b2d491e1 could not be found.", "links": []}]} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/public', 'value': True, 'op': 'replace'}] +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/public', 'value': True, 'op': 'replace'}] +GOT:Response: 200 OK Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation 907c7ad2-e01f-42ac-9f03-7a8596ea519e could not be found", "detail": "Federation 907c7ad2-e01f-42ac-9f03-7a8596ea519e could not be found.", "links": []}]} -DELETE: /v1/federations/federation-example -GOT:Response: 204 No Content +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": true, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2025-01-14T17:23:47.056011+00:00", "updated_at": null} +GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} +GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': True, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2025-01-14T17:23:47.056011+00:00', 'updated_at': '2025-01-14T17:23:47.077478+00:00'} +POST: /v1/federations {'uuid': '68f8dfc4-3e03-414f-8b43-8ccca9149fca', 'name': 'fake-name', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} +GOT:Response: 202 Accepted +Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version - -DELETE: /v1/federations/foo -GOT:Response: 404 Not Found +{"uuid": "67e8854f-723b-4311-9276-ef75847b8c7a"} +POST: /v1/federations {'name': 'fake-name', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation foo could not be found", "detail": "Federation foo could not be found.", "links": []}]} -GET: /v1/federations/detail {} -GOT:{'federations': [{'uuid': '4deac6e8-9945-4665-b8a7-9a749b30044e', '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/4deac6e8-9945-4665-b8a7-9a749b30044e', 'rel': 'self'}, {'href': 'http://localhost/federations/4deac6e8-9945-4665-b8a7-9a749b30044e', 'rel': 'bookmark'}], 'created_at': '2026-02-16T23:36:36.114084+00:00', 'updated_at': None}]} -GET: /v1/federations/2618a46b-9682-4267-be73-c845a0fd320d/detail {} +{"uuid": "79e54562-79e8-494c-9986-19d4de2a7159"} +POST: /v1/federations {'uuid': '04696ff4-d8ce-447f-8e9c-aec6e7d95518', 'name': 'fake-name', 'hostcluster_id': '14b35915-d245-42e5-8e0b-dd6e064eb349', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "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=e894f50f-fbf7-4e13-8456-95ef85799353 {} -GOT:{'federations': [{'uuid': '7fcad8fd-610d-46ed-a748-8753f78326f5', '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/7fcad8fd-610d-46ed-a748-8753f78326f5', 'rel': 'self'}, {'href': 'http://localhost/federations/7fcad8fd-610d-46ed-a748-8753f78326f5', 'rel': 'bookmark'}], 'created_at': '2026-02-16T23:36:36.147618+00:00', 'updated_at': None}]} -GET: /v1/federations {} -GOT:{'federations': []} -GET: /v1/federations?limit=3&marker=e91d834f-f0bc-49a8-9eb4-73abc6438101 {} -GOT:{'federations': [{'uuid': '0ece8e5e-96d6-4811-afbc-ee3459575236', '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/0ece8e5e-96d6-4811-afbc-ee3459575236', 'rel': 'self'}, {'href': 'http://localhost/federations/0ece8e5e-96d6-4811-afbc-ee3459575236', 'rel': 'bookmark'}]}]} -GET: /v1/federations/e6acaad1-3d92-4e86-a314-f267b3ef2805 {} -GOT:{'uuid': 'e6acaad1-3d92-4e86-a314-f267b3ef2805', '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/e6acaad1-3d92-4e86-a314-f267b3ef2805', 'rel': 'self'}, {'href': 'http://localhost/federations/e6acaad1-3d92-4e86-a314-f267b3ef2805', 'rel': 'bookmark'}], 'created_at': '2026-02-16T23:36:36.200523+00:00', 'updated_at': None}magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name_multiple_federation -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name_multiple_federation ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name_not_found -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_uuid -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_uuid ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_uuid_not_found -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_uuid_not_found ... ok -magnum.tests.unit.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_federation.TestListFederation.test_links -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_links ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_safe_rstrip -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_safe_rstrip ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_safe_rstrip_not_raises_exceptions -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_safe_rstrip_not_raises_exceptions ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_unknown_kwargs_raises_error -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_unknown_kwargs_raises_error ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_validate_and_normalize_mac -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_validate_and_normalize_mac ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_validate_and_normalize_mac_invalid_format -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_validate_and_normalize_mac_invalid_format ... ok -magnum.tests.unit.common.x509.test_operations.TestX509Operations.test_decrypt_key -magnum.tests.unit.common.x509.test_operations.TestX509Operations.test_decrypt_key ... ok -magnum.tests.unit.common.x509.test_operations.TestX509Operations.test_generate_csr_and_key -magnum.tests.unit.common.x509.test_operations.TestX509Operations.test_generate_csr_and_key ... ok -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_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.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.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.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.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 +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 14b35915-d245-42e5-8e0b-dd6e064eb349 could not be found", "detail": "Cluster 14b35915-d245-42e5-8e0b-dd6e064eb349 could not be found.", "links": []}]}magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_hostcluster_does_not_exist +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_hostcluster_does_not_exist ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_no_dns_zone_name +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_no_dns_zone_name ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_no_hostcluster_id +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_no_hostcluster_id ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_with_invalid_name +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_with_invalid_name ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_without_name +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_without_name ... ok -GET: /v1/federations/fake-name {} -GOT:{'uuid': '60ad3412-7964-4cfe-89ca-b711cd4d8267', '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/60ad3412-7964-4cfe-89ca-b711cd4d8267', 'rel': 'self'}, {'href': 'http://localhost/federations/60ad3412-7964-4cfe-89ca-b711cd4d8267', 'rel': 'bookmark'}], 'created_at': '2026-02-16T23:36:36.217571+00:00', 'updated_at': None} -GET: /v1/federations/test_federation {} -GOT:Response: 409 Conflict +GOT:{'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'cluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 2, 'role': 'worker', 'min_node_count': 2, 'max_node_count': 4, 'is_default': False, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2025-01-14T17:23:46.759247+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/6cca1652-ae68-4122-ad88-5e536a0ef5ea/nodegroups/4347b292-4f45-4f5e-8715-8766715480af [{'path': '/max_node_count', 'value': 4, 'op': 'replace'}] +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 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 +{"id": 50, "uuid": "4347b292-4f45-4f5e-8715-8766715480af", "name": "nodegroup1", "cluster_id": "6cca1652-ae68-4122-ad88-5e536a0ef5ea", "project_id": "fake", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/6cca1652-ae68-4122-ad88-5e536a0ef5ea/nodegroups/4347b292-4f45-4f5e-8715-8766715480af", "rel": "self"}, {"href": "http://localhost/clusters/6cca1652-ae68-4122-ad88-5e536a0ef5ea/nodegroups/4347b292-4f45-4f5e-8715-8766715480af", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": 4, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2025-01-14T17:23:46.892476+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': 'master', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 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/03530d5f-fa72-4ee9-8b17-085c7fb85643 {} -GOT:{'uuid': '03530d5f-fa72-4ee9-8b17-085c7fb85643', '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/03530d5f-fa72-4ee9-8b17-085c7fb85643', 'rel': 'self'}, {'href': 'http://localhost/federations/03530d5f-fa72-4ee9-8b17-085c7fb85643', 'rel': 'bookmark'}], 'created_at': '2026-02-16T23:36:36.263774+00:00', 'updated_at': None} -GET: /v1/federations/39a95948-3cf6-4b78-855b-f2835cfcc615 {} -GOT:Response: 404 Not Found +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Creating master nodegroups is currently not supported", "detail": "Creating master nodegroups is currently not supported.", "links": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} +GOT:Response: 409 Conflict Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation 39a95948-3cf6-4b78-855b-f2835cfcc615 could not be found", "detail": "Federation 39a95948-3cf6-4b78-855b-f2835cfcc615 could not be found.", "links": []}]} -GET: /v1/federations/72a9d3f1-f01a-49c8-8f1b-14e668fec5ca {} -GOT:{'uuid': '72a9d3f1-f01a-49c8-8f1b-14e668fec5ca', '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/72a9d3f1-f01a-49c8-8f1b-14e668fec5ca', 'rel': 'self'}, {'href': 'http://localhost/federations/72a9d3f1-f01a-49c8-8f1b-14e668fec5ca', 'rel': 'bookmark'}], 'created_at': '2026-02-16T23:36:36.291853+00:00', 'updated_at': None} -GET: /v1/federations/72a9d3f1-f01a-49c8-8f1b-14e668fec5ca {} -GOT:{'uuid': '72a9d3f1-f01a-49c8-8f1b-14e668fec5ca', '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/72a9d3f1-f01a-49c8-8f1b-14e668fec5ca', 'rel': 'self'}, {'href': 'http://localhost/federations/72a9d3f1-f01a-49c8-8f1b-14e668fec5ca', 'rel': 'bookmark'}], 'created_at': '2026-02-16T23:36:36.291853+00:00', 'updated_at': None} -GET: /federations/72a9d3f1-f01a-49c8-8f1b-14e668fec5ca {} -GOT:{'uuid': '72a9d3f1-f01a-49c8-8f1b-14e668fec5ca', '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/72a9d3f1-f01a-49c8-8f1b-14e668fec5ca', 'rel': 'self'}, {'href': 'http://localhost/federations/72a9d3f1-f01a-49c8-8f1b-14e668fec5ca', 'rel': 'bookmark'}], 'created_at': '2026-02-16T23:36:36.291853+00:00', 'updated_at': None} -GET: /v1/federations {} -GOT:{'federations': [{'uuid': '351d0feb-88fc-451f-8059-cca2fd726606', '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/351d0feb-88fc-451f-8059-cca2fd726606', 'rel': 'self'}, {'href': 'http://localhost/federations/351d0feb-88fc-451f-8059-cca2fd726606', 'rel': 'bookmark'}]}, {'uuid': 'd804c896-fa6c-48f1-ae69-539e0a71648d', '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/d804c896-fa6c-48f1-ae69-539e0a71648d', 'rel': 'self'}, {'href': 'http://localhost/federations/d804c896-fa6c-48f1-ae69-539e0a71648d', 'rel': 'bookmark'}]}, {'uuid': '6b344f00-9076-4bbd-aab6-cff8f5ca06cc', '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/6b344f00-9076-4bbd-aab6-cff8f5ca06cc', 'rel': 'self'}, {'href': 'http://localhost/federations/6b344f00-9076-4bbd-aab6-cff8f5ca06cc', 'rel': 'bookmark'}]}, {'uuid': '0fab041b-5de2-43dd-a40c-093e9598b277', '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/0fab041b-5de2-43dd-a40c-093e9598b277', 'rel': 'self'}, {'href': 'http://localhost/federations/0fab041b-5de2-43dd-a40c-093e9598b277', 'rel': 'bookmark'}]}, {'uuid': '40526507-0281-476b-af82-a33637b995f9', '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/40526507-0281-476b-af82-a33637b995f9', 'rel': 'self'}, {'href': 'http://localhost/federations/40526507-0281-476b-af82-a33637b995f9', 'rel': 'bookmark'}]}]} -GET: /v1/federations {} -GOT:{'federations': [{'uuid': '9518067d-3343-4f85-b77d-61cae599709c', '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/9518067d-3343-4f85-b77d-61cae599709c', 'rel': 'self'}, {'href': 'http://localhost/federations/9518067d-3343-4f85-b77d-61cae599709c', 'rel': 'bookmark'}]}]} -POST: /v1/federations {'uuid': '0679bddb-b929-4670-b1a9-1e7fffc3f608', '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": "Cluster API address is not available yet", "detail": "Cluster API address is not available yet", "links": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'test-master', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} +GOT:Response: 409 Conflict Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"uuid": "6d29d89f-56ed-4dac-9679-3fc2e92cb327"} -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.'} +{"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.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"uuid": "1665543c-a122-4baf-af2c-6a6a2e340eb3"}magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_generate_uuid -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_generate_uuid ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_hostcluster_does_not_exist -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_hostcluster_does_not_exist ... ok -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.conductor.handlers.test_cluster_conductor.TestHandler.test_create -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create ... 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.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 - -POST: /v1/federations {'uuid': 'd97ce1b0-3d31-4245-a8c2-c5f63e908ff5', 'name': 'fake-name', 'hostcluster_id': '0166b217-15be-4779-92ce-1e1bf3b59476', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} -GOT:Response: 404 Not Found +{"id": 12, "uuid": "da76f7d3-3795-4391-bf38-d2747ec05fc3", "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/da76f7d3-3795-4391-bf38-d2747ec05fc3", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/da76f7d3-3795-4391-bf38-d2747ec05fc3", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {"label3": "value3"}, "labels_skipped": {"label1": "value1", "label2": "value2"}, "created_at": "2025-01-14T17:23:47.125087+00:00", "updated_at": null} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': {'label1': 'value3', 'label4': 'value4'}, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': True} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 0166b217-15be-4779-92ce-1e1bf3b59476 could not be found", "detail": "Cluster 0166b217-15be-4779-92ce-1e1bf3b59476 could not be found.", "links": []}]} -POST: /v1/federations {'uuid': '66aae9c2-6f7e-4f8d-95cc-0aa9ff608a5c', 'name': 'fake-name', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} +{"id": 12, "uuid": "44c920c7-1545-4f45-b9e6-455e28d3ba88", "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/44c920c7-1545-4f45-b9e6-455e28d3ba88", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/44c920c7-1545-4f45-b9e6-455e28d3ba88", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {"label1": "value1"}, "labels_added": {"label4": "value4"}, "labels_skipped": {}, "created_at": "2025-01-14T17:23:47.188532+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}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_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 + +POST: /v1/federations {'uuid': '8c2395c6-e728-44eb-ba6b-2e443237b807', 'name': 'fake-name', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 @@ -8414,7 +7892,7 @@ 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': 'cf8edc1c-7d09-438d-92e5-0b8e016dfe13', 'name': 'fake-name', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} +POST: /v1/federations {'uuid': '66f9e8b2-9b7e-4711-911a-a9527369ef2d', 'name': 'fake-name', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 @@ -8422,7 +7900,7 @@ 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': '29c76324-7e77-4985-96e4-6d05d822ee24', '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.'} +POST: /v1/federations {'uuid': '07caa36a-8fbd-46cb-bb1c-ce2cb40e3d3a', 'name': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 @@ -8430,7 +7908,7 @@ 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': 'bdb100eb-cc8e-4316-8008-6cfd38dbc9c9', '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.'} +POST: /v1/federations {'uuid': '97a70d74-dcf4-4931-8c9f-2b1b53e23c36', 'name': '123456', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 @@ -8438,7 +7916,7 @@ 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': '5c8c78db-282f-4932-b23a-f3bbd7134ec0', '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.'} +POST: /v1/federations {'uuid': '40bcb5fe-6c2e-49ba-ba91-ac7ba33a40f7', 'name': '123456test_federation', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 @@ -8446,7 +7924,7 @@ 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': '8d11a527-176d-4010-aabe-22ae27713e6c', '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.'} +POST: /v1/federations {'uuid': '3badd606-25f9-44df-b466-b5da5ce482a9', 'name': '-test_federation', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 @@ -8454,7 +7932,7 @@ 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': '5ad588af-9aa9-4841-8fd2-935c4775c4d1', '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.'} +POST: /v1/federations {'uuid': 'd529937c-ca7a-4f27-9c7b-5ecbd42b2794', 'name': '.test_federation', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 @@ -8462,7 +7940,7 @@ 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': '04e2c56a-ca64-4837-9cb2-5f8b6859367f', '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.'} +POST: /v1/federations {'uuid': '36ba0e85-a5ef-462e-a21a-5d9f12778194', 'name': '_test_federation', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 @@ -8470,233 +7948,207 @@ 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': 'e91a1636-9bba-45d2-aff4-5ef1b0b30eb3', '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.'} +POST: /v1/federations {'uuid': 'a0d631d7-e81c-4167-b8f5-5aa0300bf798', 'name': '', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: ''. Value should have a minimum character requirement of 1", "links": []}]}magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_with_invalid_name -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_with_invalid_name ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_without_name -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_without_name ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.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.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.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.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.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.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.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.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.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.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.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.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 +{"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': 'adc48ae3-5e0f-4890-9c4c-bd2b2adaa586', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"uuid": "57acfd68-8722-404d-b79b-727fcb40af65"} +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_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.TestMagnumServiceObject.test_msvc_obj_fields_filtering +magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceObject.test_msvc_obj_fields_filtering ... ok magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all ... ok -magnum.tests.unit.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.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.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.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.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.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.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.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.conductor.handlers.test_cluster_conductor.TestHandler.test_update_node_count_success -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_node_count_success ... ok -magnum.tests.unit.conductor.handlers.test_conductor_listener.TestHandler.test_ping_conductor -magnum.tests.unit.conductor.handlers.test_conductor_listener.TestHandler.test_ping_conductor ... ok -magnum.tests.unit.conductor.handlers.test_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 -POST: /v1/federations {'uuid': '0d6438fa-b7c7-4e91-808e-20b157a4825c', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"uuid": "f6023007-8f86-471c-9e87-026becb3aac4"} -DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/not-there -GOT:Response: 404 Not Found +{"id": 12, "uuid": "61215cc1-f46d-454e-9337-7ee0081f3777", "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/61215cc1-f46d-454e-9337-7ee0081f3777", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/61215cc1-f46d-454e-9337-7ee0081f3777", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2025-01-14T17:23:47.250751+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.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup not-there could not be found", "detail": "Nodegroup not-there could not be found.", "links": []}]} -DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/d96c2528-c2d2-4345-baf6-d1e47511cc38 -GOT:Response: 400 Bad Request +{"id": 12, "uuid": "9862801b-423d-4322-9814-2ee2ecc44de2", "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/9862801b-423d-4322-9814-2ee2ecc44de2", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/9862801b-423d-4322-9814-2ee2ecc44de2", "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.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Deleting a default nodegroup is not supported", "detail": "Deleting a default nodegroup is not supported.", "links": []}]} -DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 -GOT:Response: 204 No Content +{"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.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version - -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 {} -GOT:Response: 404 Not Found +{"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.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup 483203a3-dbee-4a9c-9d65-9820512f4df8 could not be found", "detail": "Nodegroup 483203a3-dbee-4a9c-9d65-9820512f4df8 could not be found.", "links": []}]} -DELETE: /v1/clusters/b531473e-78b9-4e98-92de-a3f9a20f51ae/nodegroups/e286bf40-5df7-4f98-8957-b06bda705aba -GOT:Response: 204 No Content +{"id": 3, "uuid": "a4c25fc0-d498-4441-ad36-478f5e0a6dfb", "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/a4c25fc0-d498-4441-ad36-478f5e0a6dfb", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/a4c25fc0-d498-4441-ad36-478f5e0a6dfb", "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.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version - -DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 -GOT:Response: 204 No Content +{"id": 12, "uuid": "0337a2f0-bf46-447b-b275-b3c361314bbd", "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/0337a2f0-bf46-447b-b275-b3c361314bbd", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/0337a2f0-bf46-447b-b275-b3c361314bbd", "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.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version +{"id": 12, "uuid": "36bb73b9-c8a3-40a3-aa09-8251cc938924", "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/36bb73b9-c8a3-40a3-aa09-8251cc938924", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/36bb73b9-c8a3-40a3-aa09-8251cc938924", "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}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_image_id +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_image_id ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_labels +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_labels ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_name +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_name ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_max_node_count +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_max_node_count ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_name_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.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.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.TestPost.test_create_nodegroup_without_node_count +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_without_node_count ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota ... 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 -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 {} -GOT:Response: 404 Not Found +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.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup nodegroup1 could not be found", "detail": "Nodegroup nodegroup1 could not be found.", "links": []}]} -DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/a13fcdaa-83f9-40a0-9185-037b7f1b5aa1 -GOT:Response: 404 Not Found +{"id": 12, "uuid": "44fda7f4-f0d0-42fc-8a70-770497f67c5d", "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/44fda7f4-f0d0-42fc-8a70-770497f67c5d", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/44fda7f4-f0d0-42fc-8a70-770497f67c5d", "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.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup a13fcdaa-83f9-40a0-9185-037b7f1b5aa1 could not be found", "detail": "Nodegroup a13fcdaa-83f9-40a0-9185-037b7f1b5aa1 could not be found.", "links": []}]} -DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 -GOT:Response: 406 Not Acceptable +{"id": 12, "uuid": "57c0bcc1-d404-49f1-9bfd-8e71f368f56c", "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/57c0bcc1-d404-49f1-9bfd-8e71f368f56c", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/57c0bcc1-d404-49f1-9bfd-8e71f368f56c", "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 -{"errors": [{"request_id": "", "code": "", "status": 406, "title": "", "detail": "", "links": []}]} -GET: /v1/clusters/6946f2df-c532-41d6-9b1f-d0eb619a6a76/nodegroups {} -GOT:{'nodegroups': [{'uuid': '4e21c027-cd56-49e5-b664-1272cdff98f5', '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': '73986fd6-6718-459e-ad2c-8c6866a14c99', '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/3aef317e-17c3-4794-b114-07798de6e460/nodegroups {} -GOT:{'nodegroups': [{'uuid': '429c87da-2b8f-48c5-8254-bb38588092f7', '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': '37373c14-ca50-4f41-88d5-6c76a6d2de1e', '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}]} +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"id": 12, "uuid": "29574ed6-2db1-4bfb-bcfb-0f37add89b63", "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/29574ed6-2db1-4bfb-bcfb-0f37add89b63", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/29574ed6-2db1-4bfb-bcfb-0f37add89b63", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "test-role", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 0, 'role': 'worker', 'max_node_count': None, 'min_node_count': 0, 'merge_labels': False} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"id": 12, "uuid": "d1b81ac8-efd8-48b9-98fe-b5510b28e85d", "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/d1b81ac8-efd8-48b9-98fe-b5510b28e85d", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/d1b81ac8-efd8-48b9-98fe-b5510b28e85d", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 0, "role": "worker", "min_node_count": 0, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"id": 12, "uuid": "b91e15e6-b2c8-41f4-bca5-586ab1cde554", "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/b91e15e6-b2c8-41f4-bca5-586ab1cde554", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/b91e15e6-b2c8-41f4-bca5-586ab1cde554", "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/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} +GOT:Response: 201 Created +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-01-14T17:23:47.950603+00:00", "updated_at": null} +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': -10} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute hard_limit", "detail": "Invalid input for field/attribute hard_limit. Value: '-10'. Value should be greater or equal to 0", "links": []}]}magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_invalid_hard_limit +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_invalid_hard_limit ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_invalid_resource +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_invalid_resource ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_no_project_id +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_no_project_id ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_project_id_not_found +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_project_id_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_zero_quota +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_zero_quota ... 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/clusters/2adc6efe-3b99-4aaf-9930-52b4395a4eb8/nodegroups {} +GOT:{'nodegroups': [{'uuid': 'cadd3804-779e-4a66-9eec-76f5b96ef041', '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': '83eec36c-c575-47ee-a341-f336a7030a36', '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/740db2ed-aba6-4ede-8b02-e3acfcb77595/nodegroups {} +GOT:{'nodegroups': [{'uuid': '47acbe34-b159-46fe-b249-f13a37489320', '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': '75ee03d9-e0e5-490c-84c2-a6a7261b2680', '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': 'f369ff13-a9f9-4a4b-9eec-b95eeaafada0', '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': '125d86cc-2d5e-42f0-b221-d72825ca7153', 'name': 'test-master', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'master', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}]} +GOT:{'nodegroups': [{'uuid': 'fb49d0f3-0532-4be4-b6f4-777be9927d05', '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': '1acd93e7-250e-4548-9199-512d9fa2f900', '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': 'fef8be45-1505-4524-ad5e-5f9438815aff', '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': '647862dc-6787-42b0-ac30-a9366b84c30d', 'name': 'test-master', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'master', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}, {'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'non_default_ng', 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}]} +GOT:{'nodegroups': [{'uuid': 'b7d9f4c3-44fc-48c4-92d6-938a947389c2', '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': '8bc63731-21dc-4765-9141-756179d80ae9', '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': 'a1a58d8c-d634-42e6-af29-5d730d115232', 'name': 'test-master', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'master', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}]} +GOT:{'nodegroups': [{'uuid': 'f8dae206-8c0b-4df0-a082-67f7dbab5c33', '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': 'c3a79240-73cb-4a54-9983-42ded89a643d', 'name': 'test-worker', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'worker', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}]}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_role -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_role ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_non_existent_cluster -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_non_existent_cluster ... ok -magnum.tests.unit.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.conductor.tasks.test_heat_tasks.HeatTasksTests.test_update_stack -magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_update_stack ... ok -magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_update_stack_with_error -magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_update_stack_with_error ... ok -magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_is_magnum_auto_healer_running -magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_is_magnum_auto_healer_running ... ok -magnum.tests.unit.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.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 - +GOT:{'nodegroups': [{'uuid': '58289599-5303-4bd0-a046-aa2f2e4092ad', '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 @@ -8705,360 +8157,486 @@ Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not-here could not be found", "detail": "Cluster not-here could not be found.", "links": []}]} -GET: /v1/clusters/effcf81f-5da2-4a7f-ac1b-9324d011ff61/nodegroups?limit=1 {} -GOT:{'nodegroups': [{'uuid': 'a76964e7-aaaf-4a38-a0af-883ade71553f', '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/effcf81f-5da2-4a7f-ac1b-9324d011ff61/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=a76964e7-aaaf-4a38-a0af-883ade71553f'} -GET: /v1/clusters/effcf81f-5da2-4a7f-ac1b-9324d011ff61/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=a76964e7-aaaf-4a38-a0af-883ade71553f {} -GOT:{'nodegroups': [{'uuid': '07b3d2e6-7a33-401d-9ed3-15d0502e5f3e', '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/effcf81f-5da2-4a7f-ac1b-9324d011ff61/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=07b3d2e6-7a33-401d-9ed3-15d0502e5f3e'} -GET: /v1/clusters/effcf81f-5da2-4a7f-ac1b-9324d011ff61/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=07b3d2e6-7a33-401d-9ed3-15d0502e5f3e {} +GET: /v1/clusters/ddb89cab-1900-41fc-853b-8d5879244b3a/nodegroups?limit=1 {} +GOT:{'nodegroups': [{'uuid': '21b38169-4875-4984-8977-32e67ec6c04d', '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/ddb89cab-1900-41fc-853b-8d5879244b3a/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=21b38169-4875-4984-8977-32e67ec6c04d'} +GET: /v1/clusters/ddb89cab-1900-41fc-853b-8d5879244b3a/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=21b38169-4875-4984-8977-32e67ec6c04d {} +GOT:{'nodegroups': [{'uuid': 'caced152-6b3c-4544-abaf-4ae37065b003', '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/ddb89cab-1900-41fc-853b-8d5879244b3a/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=caced152-6b3c-4544-abaf-4ae37065b003'} +GET: /v1/clusters/ddb89cab-1900-41fc-853b-8d5879244b3a/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=caced152-6b3c-4544-abaf-4ae37065b003 {} GOT:{'nodegroups': []} -GET: /v1/clusters/43c4bcd2-2213-415a-be56-a999a23df69f/nodegroups/ {} +GET: /v1/clusters/92546e7d-d5ba-4ad3-9f28-9bec64870a78/nodegroups/ {} GOT:Response: 406 Not Acceptable Content-Type: application/json {"errors": [{"request_id": "", "code": "", "status": 406, "title": "", "detail": "", "links": []}]} -GET: /v1/clusters/5ad05e0c-7733-4a7c-a38e-acc50e9914b8/nodegroups/9bfcc788-291d-432c-86a5-ce9c7df55ceb {} -GOT:{'id': 1, 'uuid': '9bfcc788-291d-432c-86a5-ce9c7df55ceb', 'name': 'test-worker', 'cluster_id': '5ad05e0c-7733-4a7c-a38e-acc50e9914b8', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/5ad05e0c-7733-4a7c-a38e-acc50e9914b8/nodegroups/9bfcc788-291d-432c-86a5-ce9c7df55ceb', 'rel': 'self'}, {'href': 'http://localhost/clusters/5ad05e0c-7733-4a7c-a38e-acc50e9914b8/nodegroups/9bfcc788-291d-432c-86a5-ce9c7df55ceb', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': 'test_image', 'node_addresses': ['172.17.2.4'], 'node_count': 3, 'role': 'worker', 'min_node_count': 1, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2026-02-16T23:36:37.125103+00:00', 'updated_at': None} -GET: /v1/clusters/0c6c7c4d-6914-4ebc-ae38-11cdede40149/nodegroups/fe711a01-8779-4371-8d89-ada08a517b07 {} -GOT:{'id': 3, 'uuid': 'fe711a01-8779-4371-8d89-ada08a517b07', 'name': 'test-worker', 'cluster_id': '0c6c7c4d-6914-4ebc-ae38-11cdede40149', 'project_id': '0c6c7c4d-6914-4ebc-ae38-11cdede40149', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/0c6c7c4d-6914-4ebc-ae38-11cdede40149/nodegroups/fe711a01-8779-4371-8d89-ada08a517b07', 'rel': 'self'}, {'href': 'http://localhost/clusters/0c6c7c4d-6914-4ebc-ae38-11cdede40149/nodegroups/fe711a01-8779-4371-8d89-ada08a517b07', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': 'test_image', 'node_addresses': ['172.17.2.4'], 'node_count': 3, 'role': 'worker', 'min_node_count': 1, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2026-02-16T23:36:37.157107+00:00', 'updated_at': None} -GET: /v1/clusters/96741492-b935-4baf-9d57-bdeeb0f54389/nodegroups/non_default_ng {} -GOT:{'id': 3, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'non_default_ng', 'cluster_id': '96741492-b935-4baf-9d57-bdeeb0f54389', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {'label1': 'value3', 'label2': 'value2', 'label4': 'value4'}, 'links': [{'href': 'http://localhost/v1/clusters/96741492-b935-4baf-9d57-bdeeb0f54389/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/96741492-b935-4baf-9d57-bdeeb0f54389/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 3, 'role': 'worker', 'min_node_count': 1, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {'label1': 'value1'}, 'labels_added': {'label4': 'value4'}, 'labels_skipped': {}, 'created_at': '2026-02-16T23:36:37.186872+00:00', 'updated_at': None} -GET: /v1/clusters/c2bc9d6c-efa9-442f-8c25-26fc1cf8a566/nodegroups/non_default_ng {} -GOT:{'id': 3, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'non_default_ng', 'cluster_id': 'c2bc9d6c-efa9-442f-8c25-26fc1cf8a566', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {'label1': 'value3', 'label4': 'value4'}, 'links': [{'href': 'http://localhost/v1/clusters/c2bc9d6c-efa9-442f-8c25-26fc1cf8a566/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/c2bc9d6c-efa9-442f-8c25-26fc1cf8a566/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 3, 'role': 'worker', 'min_node_count': 1, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {'label1': 'value1'}, 'labels_added': {'label4': 'value4'}, 'labels_skipped': {'label2': 'value2'}, 'created_at': '2026-02-16T23:36:37.214582+00:00', 'updated_at': None} -GET: /v1/clusters/1c10f4db-54f8-491f-9c62-fddb2d683981/nodegroups/not-here {} -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup not-here could not be found", "detail": "Nodegroup not-here could not be found.", "links": []}]} -GET: /v1/clusters/ffaff4c4-fb10-45b6-be76-1a386444fa60/nodegroups/6d3b030b-0b98-4899-b7c2-a3fa05a01a5f {} -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} +GET: /v1/clusters/01b6b6e1-0f5d-4e2c-b160-2cc8ec89269f/nodegroups/0e7431f2-f666-4b50-b620-9cec8fef0c09 {} +GOT:{'id': 1, 'uuid': '0e7431f2-f666-4b50-b620-9cec8fef0c09', 'name': 'test-worker', 'cluster_id': '01b6b6e1-0f5d-4e2c-b160-2cc8ec89269f', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/01b6b6e1-0f5d-4e2c-b160-2cc8ec89269f/nodegroups/0e7431f2-f666-4b50-b620-9cec8fef0c09', 'rel': 'self'}, {'href': 'http://localhost/clusters/01b6b6e1-0f5d-4e2c-b160-2cc8ec89269f/nodegroups/0e7431f2-f666-4b50-b620-9cec8fef0c09', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': 'test_image', 'node_addresses': ['172.17.2.4'], 'node_count': 3, 'role': 'worker', 'min_node_count': 1, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2025-01-14T17:23:48.061288+00:00', 'updated_at': None}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_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_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_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_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_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_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_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_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_quota.TestQuotaObject.test_quota_init +magnum.tests.unit.api.controllers.v1.test_quota.TestQuotaObject.test_quota_init ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_non_admin +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_non_admin ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_with_non_admin_context +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_with_non_admin_context ... ok +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_all_stats +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_all_stats ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_with_pagination_limit +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_with_pagination_limit ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one ... ok +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_invalid_tenant_stats +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_invalid_tenant_stats ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_no_config_default +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_no_config_default ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_tenant_stats +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_tenant_stats ... ok +magnum.tests.unit.api.controllers.v1.test_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_stats.TestStatsController.test_empty +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_empty ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_with_config_default +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_with_config_default ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_one +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_one ... ok +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_invalid_type_stats +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_invalid_type_stats ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_patch_quota +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_patch_quota ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_self_stats +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_self_stats ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_self_stats_without_param +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_self_stats_without_param ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " + +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'invalid-res', 'hard_limit': 10} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 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}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.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_pull_data_success -magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_pull_data_success ... ok -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_cluster_create -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_cluster_create ... ok -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_cluster_delete -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_cluster_delete ... ok -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_cluster_update -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_cluster_update ... ok -magnum.tests.unit.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.conductor.test_rpcapi.RPCAPITestCase.test_get_ca_certificate -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_ca_certificate ... ok -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_nodegroup_create -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_nodegroup_create ... ok -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_nodegroup_delete -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_nodegroup_delete ... ok -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_nodegroup_update -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_nodegroup_update ... ok -magnum.tests.unit.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.conductor.test_rpcapi.RPCAPITestCase.test_ping_conductor -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_ping_conductor ... ok -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_sign_certificate -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_sign_certificate ... ok -magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_no_container_host -magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_no_container_host ... ok -magnum.tests.unit.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.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_one_container_host -magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_one_container_host ... ok -magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_scale_up -magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_scale_up ... ok -magnum.tests.unit.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.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_three_container_hosts -magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_three_container_hosts ... ok -magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_two_container_hosts -magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_two_container_hosts ... ok -magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_with_none_hosts -magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_with_none_hosts ... ok -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_context -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_context ... ok -magnum.tests.unit.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.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.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 -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_domainid_userid ... ok -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_projectid -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_projectid ... ok -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_userid -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_userid ... ok -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_userid_projectid -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_userid_projectid ... ok -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_object_has_stack_delete_complete_status -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_object_has_stack_delete_complete_status ... ok -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_object_has_stack_delete_in_progress -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_object_has_stack_delete_in_progress ... ok -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_object_has_stack_invalid_status -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_object_has_stack_invalid_status ... ok -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_retrieve_cluster_name -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_retrieve_cluster_name ... ok -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_retrieve_cluster_template -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_retrieve_cluster_template ... ok - -GOT:Response: 409 Conflict +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute resource", "detail": "Invalid input for field/attribute resource. Value: 'invalid-res'. Value should be one of: Cluster", "links": []}]} +POST: /v1/quotas {'id': 42, 'resource': 'Cluster', 'hard_limit': 10} +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 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 +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Must provide a valid project ID", "detail": "Must provide a valid project ID.", "links": []}]} +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 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 +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "The project_id fake_project could not be found", "detail": "The project_id fake_project could not be found.", "links": []}]} +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 0} +GOT:Response: 201 Created Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"id": 12, "uuid": "7f69ca41-8c60-4b37-a3a5-e36e87c4f565", "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/7f69ca41-8c60-4b37-a3a5-e36e87c4f565", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/7f69ca41-8c60-4b37-a3a5-e36e87c4f565", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {"label3": "value3"}, "labels_skipped": {"label1": "value1", "label2": "value2"}, "created_at": "2026-02-16T23:36:37.399324+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 +{"id": 42, "hard_limit": 0, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-01-14T17:23:48.101187+00:00", "updated_at": null} +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} +GOT:Response: 201 Created Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"id": 12, "uuid": "84387b0a-e97c-4b22-8825-446a44b79d38", "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/84387b0a-e97c-4b22-8825-446a44b79d38", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/84387b0a-e97c-4b22-8825-446a44b79d38", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {"label1": "value1"}, "labels_added": {"label4": "value4"}, "labels_skipped": {}, "created_at": "2026-02-16T23:36:37.429931+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 +{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-01-14T17:23:48.132946+00:00", "updated_at": null} +DELETE: /v1/quotas/fake_project/Cluster +GOT:Response: 204 No Content Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"id": 12, "uuid": "64643322-e2be-4179-a99c-2e59ae6e5133", "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/64643322-e2be-4179-a99c-2e59ae6e5133", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/64643322-e2be-4179-a99c-2e59ae6e5133", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2026-02-16T23:36:37.459316+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 + +GET: /v1/quotas/fake_project/Cluster {} +GOT:Response: 200 OK Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"id": 12, "uuid": "1cad8f3b-0a91-41cd-ab8f-bda20a530496", "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/1cad8f3b-0a91-41cd-ab8f-bda20a530496", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/1cad8f3b-0a91-41cd-ab8f-bda20a530496", "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 +{"hard_limit": 20, "project_id": "fake_project", "resource": "Cluster"} +GET: /v1/quotas {} +GOT:{'quotas': []} +GET: /v1/quotas?all_tenants=True {} +GOT:{'quotas': [{'id': 1, 'hard_limit': 10, 'project_id': 'proj-id-0', 'resource': 'Cluster', 'created_at': '2025-01-14T17:23:48.212265+00:00', 'updated_at': None}, {'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2025-01-14T17:23:48.213921+00:00', 'updated_at': None}, {'id': 3, 'hard_limit': 10, 'project_id': 'proj-id-2', 'resource': 'Cluster', 'created_at': '2025-01-14T17:23:48.215122+00:00', 'updated_at': None}, {'id': 4, 'hard_limit': 10, 'project_id': 'proj-id-3', 'resource': 'Cluster', 'created_at': '2025-01-14T17:23:48.216279+00:00', 'updated_at': None}]} +GET: /v1/quotas?all_tenants=False {} +GOT:{'quotas': [{'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2025-01-14T17:23:48.252543+00:00', 'updated_at': None}]} +GET: /v1/quotas?limit=3&marker=3&all_tenants=True {} +GOT:{'quotas': [{'id': 4, 'hard_limit': 10, 'project_id': 'proj-id-3', 'resource': 'Cluster', 'created_at': '2025-01-14T17:23:48.291260+00:00', 'updated_at': None}]} +GET: /v1/quotas {} +GOT:{'quotas': [{'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2025-01-14T17:23:48.330283+00:00', 'updated_at': None}]} +GET: /v1/quotas {} +GOT:{'quotas': [{'id': 3, 'hard_limit': 10, 'project_id': 'proj-id-2', 'resource': 'Cluster', 'created_at': '2025-01-14T17:23:48.367335+00:00', 'updated_at': None}]} +GET: /v1/quotas?all_tenants=True {} +GOT:{'quotas': []} +GET: /v1/quotas?limit=2&all_tenants=True {} +GOT:{'quotas': [{'id': 1, 'hard_limit': 10, 'project_id': 'proj-id-0', 'resource': 'Cluster', 'created_at': '2025-01-14T17:23:48.438021+00:00', 'updated_at': None}, {'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2025-01-14T17:23:48.439779+00:00', 'updated_at': None}], 'next': 'http://localhost/v1/quotas?sort_key=id&sort_dir=asc&limit=2&marker=2'} +GET: /v1/quotas/fake_project/Cluster {} +GOT:{'id': 1, 'hard_limit': 10, 'project_id': 'fake_project', 'resource': 'Cluster', 'created_at': '2025-01-14T17:23:48.474900+00:00', 'updated_at': None} +GET: /v1/quotas/fake_project/Cluster {} +GOT:Response: 200 OK Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 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": []}]}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.conductor.test_utils.TestConductorUtils.test_retrieve_cluster_uuid -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_retrieve_cluster_uuid ... 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.conductor.test_utils.TestConductorUtils.test_retrieve_cluster_uuid_from_name -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_retrieve_cluster_uuid_from_name ... ok -magnum.tests.unit.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.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.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_flavor -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_flavor ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_image_id -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_image_id ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_labels -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_labels ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_max_node_count -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_max_node_count ... ok - -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 +{"hard_limit": 20, "project_id": "fake_project", "resource": "Cluster"} +GET: /v1/quotas/invalid_proj/invalid_res {} +GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 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 +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Not authorized", "detail": "Not authorized.", "links": []}]} +GET: /v1/quotas/fake_project/Cluster {} +GOT:Response: 200 OK Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"id": 3, "uuid": "925635b9-3caa-46ea-b36f-35a4ecde3e4e", "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/925635b9-3caa-46ea-b36f-35a4ecde3e4e", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/925635b9-3caa-46ea-b36f-35a4ecde3e4e", "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 +{"hard_limit": 15, "project_id": "fake_project", "resource": "Cluster"} +GET: /v1/quotas {} +GOT:{'quotas': [{'id': 1, 'hard_limit': 10, 'project_id': 'fake_project', 'resource': 'Cluster', 'created_at': '2025-01-14T17:23:48.597190+00:00', 'updated_at': None}]} +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 5} +GOT:Response: 201 Created Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"id": 12, "uuid": "b142c4e1-edbf-4dda-8c87-599b2e8b775a", "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/b142c4e1-edbf-4dda-8c87-599b2e8b775a", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/b142c4e1-edbf-4dda-8c87-599b2e8b775a", "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} +{"id": 42, "hard_limit": 5, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-01-14T17:23:48.638961+00:00", "updated_at": null} +PATCH: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 20} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"id": 12, "uuid": "76579a06-1e90-43a3-a3e5-5e35cf19e1b2", "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/76579a06-1e90-43a3-a3e5-5e35cf19e1b2", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/76579a06-1e90-43a3-a3e5-5e35cf19e1b2", "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 +{"id": 42, "hard_limit": 20, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-01-14T17:23:48.638961+00:00", "updated_at": "2025-01-14T17:23:48.650182+00:00"} +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} +GOT:Response: 201 Created Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"id": 12, "uuid": "76f3d586-abc6-4e11-a39c-042292492ba2", "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/76f3d586-abc6-4e11-a39c-042292492ba2", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/76f3d586-abc6-4e11-a39c-042292492ba2", "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 +{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-01-14T17:23:48.682884+00:00", "updated_at": null} +PATCH: /v1/quotas {'project_id': 'not-found', 'hard_limit': 20, 'resource': 'Cluster'} +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"id": 12, "uuid": "1eca04e5-7ec0-4cdf-b994-55f7dcbef435", "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/1eca04e5-7ec0-4cdf-b994-55f7dcbef435", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/1eca04e5-7ec0-4cdf-b994-55f7dcbef435", "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}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.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.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.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_cluster.DbClusterTestCase.test_create_cluster -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_create_cluster ... 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.db.test_cluster.DbClusterTestCase.test_create_cluster_already_exists -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_create_cluster_already_exists ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuotaObject.test_quota_init -magnum.tests.unit.api.controllers.v1.test_quota.TestQuotaObject.test_quota_init ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_create_cluster_nullable_cluster_template_id -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_create_cluster_nullable_cluster_template_id ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_destroy_cluster -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_destroy_cluster ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_destroy_cluster_by_id_that_does_not_exist -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_destroy_cluster_by_id_that_does_not_exist ... ok +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Quota could not be found: project_id not-found resource Cluster", "detail": "Quota could not be found: project_id not-found resource Cluster.", "links": []}]}magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_patch_quota_not_found +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_patch_quota_not_found ... ok magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_add_internal_attr magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_add_internal_attr ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_destroy_cluster_by_uuid -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_destroy_cluster_by_uuid ... ok +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_some_other_user_stats +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_some_other_user_stats ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_frombasetype_no_value +magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_frombasetype_no_value ... ok magnum.tests.unit.api.controllers.v1.test_types.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.db.test_cluster.DbClusterTestCase.test_destroy_cluster_by_uuid_that_does_not_exist -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_destroy_cluster_by_uuid_that_does_not_exist ... ok +magnum.tests.unit.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.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.TestBooleanType.test_valid_false_values +magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_valid_false_values ... ok magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_internal_attr magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_internal_attr ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_all_cluster_stats -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_all_cluster_stats ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_valid_true_values +magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_valid_true_values ... ok magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_mandatory_attr magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_mandatory_attr ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_by_id -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_by_id ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_invalid_single_dns +magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_invalid_single_dns ... ok magnum.tests.unit.api.controllers.v1.test_types.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.db.test_cluster.DbClusterTestCase.test_get_cluster_by_name -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_by_name ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_valid_multi_dns +magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_valid_multi_dns ... ok magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_update_internal_attr magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_update_internal_attr ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_by_name_multiple_cluster -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_by_name_multiple_cluster ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_valid_single_dns +magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_valid_single_dns ... ok magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_invalid_op magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_invalid_op ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_by_uuid -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_by_uuid ... ok -magnum.tests.unit.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.db.test_cluster.DbClusterTestCase.test_get_cluster_list -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list ... 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.db.test_cluster.DbClusterTestCase.test_get_cluster_list_by_admin_all_tenants -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list_by_admin_all_tenants ... ok -magnum.tests.unit.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.db.test_cluster.DbClusterTestCase.test_get_cluster_list_cluster_template_not_exist -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list_cluster_template_not_exist ... ok magnum.tests.unit.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.db.test_cluster.DbClusterTestCase.test_get_cluster_list_sorted -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list_sorted ... ok +magnum.tests.unit.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.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.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.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.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.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.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.TestUuidType.test_valid_uuid magnum.tests.unit.api.controllers.v1.test_types.TestUuidType.test_valid_uuid ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list_with_filters -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list_with_filters ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_valid_patches +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_valid_patches ... ok +magnum.tests.unit.api.test_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_types.TestMultiType.test_invalid_values +magnum.tests.unit.api.controllers.v1.test_types.TestMultiType.test_invalid_values ... 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_types.TestMultiType.test_multitype_tostring +magnum.tests.unit.api.controllers.v1.test_types.TestMultiType.test_multitype_tostring ... 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_types.TestMultiType.test_valid_values +magnum.tests.unit.api.controllers.v1.test_types.TestMultiType.test_valid_values ... 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_types.TestNameType.test_frombasetype +magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_frombasetype ... 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_types.TestNameType.test_frombasetype_no_value +magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_frombasetype_no_value ... 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.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.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.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.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.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.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_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.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.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.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_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.cmd.test_api.TestMagnumAPI.test_api_http +magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_http ... ok +magnum.tests.unit.api.controllers.v1.test_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.cmd.test_api.TestMagnumAPI.test_api_http_config_workers +magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_http_config_workers ... ok +magnum.tests.unit.api.controllers.v1.test_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.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_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.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_utils.TestApiUtils.test_validate_sort_dir +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_sort_dir ... ok +magnum.tests.unit.api.test_app.TestAppConfig.test_get_pecan_config +magnum.tests.unit.api.test_app.TestAppConfig.test_get_pecan_config ... ok +magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_external_network_with_invalid_network +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.cmd.test_api.TestMagnumAPI.test_api_https_no_key +magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https_no_key ... ok +magnum.tests.unit.api.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_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.test_hooks.TestContextHook.test_context_hook_before_method +magnum.tests.unit.api.test_hooks.TestContextHook.test_context_hook_before_method ... ok +magnum.tests.unit.api.test_hooks.TestContextHook.test_context_hook_before_method_auth_info +magnum.tests.unit.api.test_hooks.TestContextHook.test_context_hook_before_method_auth_info ... ok magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_exception_success magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_exception_success ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_that_does_not_exist -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_that_does_not_exist ... ok magnum.tests.unit.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.db.test_cluster.DbClusterTestCase.test_get_one_tenant_cluster_stats -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_one_tenant_cluster_stats ... ok magnum.tests.unit.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.db.test_cluster.DbClusterTestCase.test_update_cluster -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_update_cluster ... 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.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.db.test_cluster.DbClusterTestCase.test_update_cluster_not_found -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_update_cluster_not_found ... ok +magnum.tests.unit.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.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback ... ok magnum.tests.unit.api.test_validation.TestValidation.test_enforce_cluster_type_not_supported magnum.tests.unit.api.test_validation.TestValidation.test_enforce_cluster_type_not_supported ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_update_cluster_uuid -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_update_cluster_uuid ... ok magnum.tests.unit.api.test_validation.TestValidation.test_enforce_cluster_type_supported magnum.tests.unit.api.test_validation.TestValidation.test_enforce_cluster_type_supported ... ok magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_all_allowed_create magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_all_allowed_create ... ok +magnum.tests.unit.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.api.test_validation.TestValidation.test_enforce_network_driver_types_all_allowed_update magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_all_allowed_update ... ok +magnum.tests.unit.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.api.test_validation.TestValidation.test_enforce_network_driver_types_default_config_create magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_default_config_create ... ok -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_create_cluster_template -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_create_cluster_template ... ok +magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairCert.test_x509keypair_cert +magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairCert.test_x509keypair_cert ... ok magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_default_create magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_default_create ... ok magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_default_invalid_create @@ -9071,18 +8649,20 @@ magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_not_allowed_update ... ok magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_one_allowed_create magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_one_allowed_create ... ok -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_create_cluster_template_already_exists -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_create_cluster_template_already_exists ... ok magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_one_allowed_update magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_one_allowed_update ... ok magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_two_allowed_create magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_two_allowed_create ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'fake-uuid'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_two_allowed_update magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_two_allowed_update ... ok magnum.tests.unit.api.test_validation.TestValidation.test_enforce_server_type_invalid magnum.tests.unit.api.test_validation.TestValidation.test_enforce_server_type_invalid ... ok magnum.tests.unit.api.test_validation.TestValidation.test_enforce_server_type_valid_bm magnum.tests.unit.api.test_validation.TestValidation.test_enforce_server_type_valid_bm ... ok +magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_delete_cert +magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_delete_cert ... ok magnum.tests.unit.api.test_validation.TestValidation.test_enforce_server_type_valid_vm magnum.tests.unit.api.test_validation.TestValidation.test_enforce_server_type_valid_vm ... ok magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_invalid_create @@ -9091,338 +8671,772 @@ magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_not_supported_add_update ... ok magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_not_supported_replace_update magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_not_supported_replace_update ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'fake-uuid'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_remove_update magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_remove_update ... ok +magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_get_cert +magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_get_cert ... ok magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_supported_add_update magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_supported_add_update ... ok magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_supported_replace_update magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_supported_replace_update ... ok magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_valid_create magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_valid_create ... ok -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_destroy_cluster_template -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_destroy_cluster_template ... 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.db.test_cluster_template.DbClusterTemplateTestCase.test_destroy_cluster_template_by_uuid -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_destroy_cluster_template_by_uuid ... 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.db.test_cluster_template.DbClusterTemplateTestCase.test_destroy_cluster_template_that_does_not_exist -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_destroy_cluster_template_that_does_not_exist ... ok -magnum.tests.unit.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.db.test_cluster_template.DbClusterTemplateTestCase.test_destroy_cluster_template_that_referenced_by_clusters -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_destroy_cluster_template_that_referenced_by_clusters ... ok -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_id -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_id ... ok -magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https -magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https ... ok -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_id_hidden -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_id_hidden ... 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.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_id_public -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_id_public ... 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.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name ... ok -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name_hidden -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name_hidden ... ok -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name_multiple_cluster_template -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name_multiple_cluster_template ... ok -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name_not_found -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name_not_found ... ok -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name_public -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name_public ... ok -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_uuid -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_uuid ... ok -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_uuid_hidden -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_uuid_hidden ... ok -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_uuid_public -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_uuid_public ... ok -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_uuid_that_does_not_exist -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_uuid_that_does_not_exist ... 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.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_list -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_list ... 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_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.cmd.test_conductor.TestMagnumConductor.test_conductor +magnum.tests.unit.cmd.test_conductor.TestMagnumConductor.test_conductor ... 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.cmd.test_conductor.TestMagnumConductor.test_conductor_config_workers +magnum.tests.unit.cmd.test_conductor.TestMagnumConductor.test_conductor_config_workers ... ok +magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_revision +magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_revision ... ok +magnum.tests.unit.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.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.common.policies.test_cluster_policy.TestClusterPolicy.test_get_all_no_permission +magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_get_all_no_permission ... ok +magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_version +magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_version ... ok +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_delete_cert +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_delete_cert ... ok +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_get_cert +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_get_cert ... ok +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_get_cert_no_registration +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_get_cert_no_registration ... ok +magnum.tests.unit.common.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.cert_manager.test_barbican.TestBarbicanManager.test_store_cert +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_store_cert ... ok +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_store_cert_failure +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_store_cert_failure ... ok +magnum.tests.unit.common.cert_manager.test_cert_manager.TestCert.test_get_decrypted_private_key +magnum.tests.unit.common.cert_manager.test_cert_manager.TestCert.test_get_decrypted_private_key ... ok magnum.tests.unit.common.cert_manager.test_cert_manager.TestCertManager.test_barbican_cert_manager magnum.tests.unit.common.cert_manager.test_cert_manager.TestCertManager.test_barbican_cert_manager ... ok magnum.tests.unit.common.cert_manager.test_cert_manager.TestCertManager.test_local_cert_manager magnum.tests.unit.common.cert_manager.test_cert_manager.TestCertManager.test_local_cert_manager ... ok magnum.tests.unit.common.cert_manager.test_local.TestLocalCert.test_local_cert magnum.tests.unit.common.cert_manager.test_local.TestLocalCert.test_local_cert ... ok -magnum.tests.unit.common.cert_manager.test_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.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_list_sorted -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_list_sorted ... 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.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_list_with_filters -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_list_with_filters ... 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.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_that_does_not_exist -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_that_does_not_exist ... ok -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_update_cluster_template -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_update_cluster_template ... 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.db.test_cluster_template.DbClusterTemplateTestCase.test_update_cluster_template_that_does_not_exist -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_update_cluster_template_that_does_not_exist ... ok -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_update_cluster_template_uuid -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_update_cluster_template_uuid ... ok -magnum.tests.unit.db.test_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.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.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.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.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.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.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.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.common.policies.test_cluster_policy.TestClusterPolicy.test_update_no_permission +magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_update_no_permission ... ok +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_delete_cert_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.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.cert_manager.test_local.TestLocalManager.test_get_cert_with_loading_intermediates_fail +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_with_loading_intermediates_fail ... ok +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_with_loading_pkp_fail +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_with_loading_pkp_fail ... ok +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_with_loading_private_key_fail +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_with_loading_private_key_fail ... ok +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_without_intermediate +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_without_intermediate ... ok +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_without_pkp +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_without_pkp ... ok +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_store_cert +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_store_cert ... ok +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_store_cert_with_io_error +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_store_cert_with_io_error ... ok +magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_create_no_permission +magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_create_no_permission ... ok +magnum.tests.unit.common.policies.test_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_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_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_certificate_policy.TestCertifiactePolicy.test_update_no_permission +magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_update_no_permission ... ok +magnum.tests.unit.common.policies.test_cluster_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_quota_policy.TestQuotaPolicy.test_create_no_permission magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_create_no_permission ... 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.common.policies.test_federation_policy.TestFederationPolicy.test_create_no_permission +magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_create_no_permission ... ok +Exception ignored in: . at 0x7f82ab86a480> +Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 729, in + _finalize_fairy( + File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 1035, in _finalize_fairy + connection_record.checkin() + File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 770, in checkin + pool.dispatch.checkin(connection, self) + File "/usr/lib/python3/dist-packages/sqlalchemy/event/attr.py", line 497, in __call__ + fn(*args, **kw) + File "/usr/lib/python3/dist-packages/oslo_db/sqlalchemy/engines.py", line 52, in _thread_yield + time.sleep(0) + File "/usr/lib/python3/dist-packages/eventlet/greenthread.py", line 35, in sleep + raise RuntimeError('do not call blocking functions from the mainloop') +RuntimeError: do not call blocking functions from the mainloop +magnum.tests.unit.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_quota_policy.TestQuotaPolicy.test_delete_no_permission magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_delete_no_permission ... 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.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.db.test_nodegroup.DbNodeGroupTestCase.test_update_nodegroup_not_found -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_update_nodegroup_not_found ... ok -magnum.tests.unit.drivers.test_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.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_quota_policy.TestQuotaPolicy.test_get_no_permission magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_get_no_permission ... 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.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_quota_policy.TestQuotaPolicy.test_update_no_permission magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_update_no_permission ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_heat_param -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_heat_param ... ok +magnum.tests.unit.common.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_stats_policy.TestStatsPolicy.test_stat_admin magnum.tests.unit.common.policies.test_stats_policy.TestStatsPolicy.test_stat_admin ... 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.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_stats_policy.TestStatsPolicy.test_stat_no_permission magnum.tests.unit.common.policies.test_stats_policy.TestStatsPolicy.test_stat_no_permission ... 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.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_exception.TestException.test_all_exceptions +magnum.tests.unit.common.test_exception.TestException.test_all_exceptions ... ok +magnum.tests.unit.common.test_exception.TestException.test_custom_message_is_templated +magnum.tests.unit.common.test_exception.TestException.test_custom_message_is_templated ... ok +magnum.tests.unit.common.test_exception.TestException.test_message_is_templated +magnum.tests.unit.common.test_exception.TestException.test_message_is_templated ... ok +magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_create_no_permission +magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_create_no_permission ... ok +magnum.tests.unit.common.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.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_delete_no_permission +magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_delete_no_permission ... ok +magnum.tests.unit.common.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.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_get_all_no_permission +magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_get_all_no_permission ... ok +magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_get_no_permission +magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_get_no_permission ... ok +magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_update_no_permission +magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_update_no_permission ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_cached +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_cached ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_noauth +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_noauth ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_region +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_region ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_cached +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_cached ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_noauth +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_noauth ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_region +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_region ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_cached +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_cached ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_noauth +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_noauth ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_region +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_region ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_cached +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_cached ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_noauth +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_noauth ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_region +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_region ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_cached +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_cached ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_noauth +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_noauth ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_region +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_region ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_magnum_url +magnum.tests.unit.common.test_clients.ClientsTest.test_magnum_url ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_url_for +magnum.tests.unit.common.test_clients.ClientsTest.test_url_for ... ok magnum.tests.unit.common.test_context.ContextTestCase.test_context magnum.tests.unit.common.test_context.ContextTestCase.test_context ... ok magnum.tests.unit.common.test_context.ContextTestCase.test_context_with_roles magnum.tests.unit.common.test_context.ContextTestCase.test_context_with_roles ... ok magnum.tests.unit.common.test_context.ContextTestCase.test_request_context_sets_is_admin magnum.tests.unit.common.test_context.ContextTestCase.test_request_context_sets_is_admin ... ok -magnum.tests.unit.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.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.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.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.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.common.test_keystone.KeystoneClientTest.test_client_with_password magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_password ... 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.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.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.common.test_keystone.KeystoneClientTest.test_client_with_token magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_token ... 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.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.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.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.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.common.test_keystone.KeystoneClientTest.test_create_trustee magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_create_trustee ... 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.common.test_keystone.KeystoneClientTest.test_delete_trust magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_delete_trust ... 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.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.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.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.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.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.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.common.test_keystone.KeystoneClientTest.test_trustee_domain_id magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_trustee_domain_id ... 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.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_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.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.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.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.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_service.TestMagnumService.test_prepare_service_with_argv_none +magnum.tests.unit.common.test_service.TestMagnumService.test_prepare_service_with_argv_none ... ok +magnum.tests.unit.common.test_service.TestMagnumService.test_prepare_service_with_argv_not_none +magnum.tests.unit.common.test_service.TestMagnumService.test_prepare_service_with_argv_not_none ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_12 +magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_12 ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_16 +magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_16 ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_60 +magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_60 ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_8 +magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_8 ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_generate_ids +magnum.tests.unit.common.test_short_id.ShortIdTest.test_generate_ids ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_string +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_string ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid1 +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid1 ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_0 +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_0 ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_1 +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_1 ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_endianness +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_endianness ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_f +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_f ... ok +magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get +magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get ... ok +magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get_exceed_manifest_size +magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get_exceed_manifest_size ... ok +magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get_unsupported_scheme +magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get_unsupported_scheme ... ok +magnum.tests.unit.common.test_utils.UtilsTestCase.test_get_k8s_quantity +magnum.tests.unit.common.test_utils.UtilsTestCase.test_get_k8s_quantity ... ok +/usr/lib/python3.12/unittest/case.py:580: RuntimeWarning: TestResult has no addDuration method + warnings.warn("TestResult has no addDuration method", +magnum.tests.unit.common.test_utils.UtilsTestCase.test_get_openstasck_ca +magnum.tests.unit.common.test_utils.UtilsTestCase.test_get_openstasck_ca ... ok +magnum.tests.unit.common.x509.test_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.common.test_octavia.OctaviaTest.test_delete_loadbalancers_timeout +magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_timeout ... ok +magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_with_stack_not_found +magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_with_stack_not_found ... ok magnum.tests.unit.common.test_profiler.TestProfiler.test_all_public_methods_are_traced magnum.tests.unit.common.test_profiler.TestProfiler.test_all_public_methods_are_traced ... ok -magnum.tests.unit.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.common.test_profiler.TestProfiler.test_setup_profiler magnum.tests.unit.common.test_profiler.TestProfiler.test_setup_profiler ... 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.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.common.test_profiler.TestProfiler.test_setup_profiler_without_osprofiler magnum.tests.unit.common.test_profiler.TestProfiler.test_setup_profiler_without_osprofiler ... ok +magnum.tests.unit.common.test_rpc.TestProfilerRequestContextSerializer.test_deserialize_context +magnum.tests.unit.common.test_rpc.TestProfilerRequestContextSerializer.test_deserialize_context ... ok +magnum.tests.unit.common.test_rpc.TestProfilerRequestContextSerializer.test_serialize_context +magnum.tests.unit.common.test_rpc.TestProfilerRequestContextSerializer.test_serialize_context ... ok +magnum.tests.unit.common.test_rpc.TestRpc.test_add_extra_exmods +magnum.tests.unit.common.test_rpc.TestRpc.test_add_extra_exmods ... 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.common.test_rpc.TestRpc.test_cleanup +magnum.tests.unit.common.test_rpc.TestRpc.test_cleanup ... 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.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_delete_with_lb +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_delete_with_lb ... ok +magnum.tests.unit.common.test_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.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_resize_failure +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_resize_failure ... ok +magnum.tests.unit.common.test_rpc.TestRpc.test_get_server_profiler_enabled +magnum.tests.unit.common.test_rpc.TestRpc.test_get_server_profiler_enabled ... ok +magnum.tests.unit.common.test_rpc.TestRpc.test_get_transport_url +magnum.tests.unit.common.test_rpc.TestRpc.test_get_transport_url ... ok +magnum.tests.unit.common.test_rpc.TestRpc.test_get_transport_url_null +magnum.tests.unit.common.test_rpc.TestRpc.test_get_transport_url_null ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_resize_success +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_resize_success ... ok +magnum.tests.unit.common.test_rpc.TestRpc.test_serialize_entity +magnum.tests.unit.common.test_rpc.TestRpc.test_serialize_entity ... 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.common.test_utils.ExecuteTestCase.test_check_exit_code_boolean +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_check_exit_code_boolean ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_get_root_helper +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_get_root_helper ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables ... ok +magnum.tests.unit.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.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_without_root_helper +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_without_root_helper ... ok +magnum.tests.unit.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.common.test_utils.ExecuteTestCase.test_no_retry_on_success +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_no_retry_on_success ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_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.common.test_utils.ExecuteTestCase.test_retry_on_failure +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_retry_on_failure ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_safe_rstrip +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_safe_rstrip ... ok +magnum.tests.unit.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.common.test_utils.ExecuteTestCase.test_safe_rstrip_not_raises_exceptions +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_safe_rstrip_not_raises_exceptions ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_unknown_kwargs_raises_error +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_unknown_kwargs_raises_error ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_validate_and_normalize_mac +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_validate_and_normalize_mac ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_rollback_complete +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_rollback_complete ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_validate_and_normalize_mac_invalid_format +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_validate_and_normalize_mac_invalid_format ... ok +magnum.tests.unit.common.test_utils.GeneratePasswordTestCase.test_generate_password +magnum.tests.unit.common.test_utils.GeneratePasswordTestCase.test_generate_password ... ok +magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir +magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir ... ok +magnum.tests.unit.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.common.test_utils.TempFilesTestCase.test_tempdir_mocked +magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked ... ok +magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked_error_on_rmtree +magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked_error_on_rmtree ... ok +magnum.tests.unit.common.x509.test_operations.TestX509Operations.test_decrypt_key +magnum.tests.unit.common.x509.test_operations.TestX509Operations.test_decrypt_key ... ok +magnum.tests.unit.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_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.common.x509.test_operations.TestX509Operations.test_generate_csr_and_key +magnum.tests.unit.common.x509.test_operations.TestX509Operations.test_generate_csr_and_key ... ok +magnum.tests.unit.conductor.handlers.test_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.common.x509.test_sign.TestX509.test_generate_ca_certificate_has_publickey +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_has_publickey ... ok +magnum.tests.unit.conductor.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.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.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.tasks.test_heat_tasks.HeatTasksTests.test_create_stack +magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_create_stack ... ok +DEBUG [taskflow.engines.action_engine.completer] Applying resolver 'RevertAll(strategy=REVERT_ALL)' to resolve failure 'Failure: ValueError: ' of atom '"magnum.conductor.tasks.heat_tasks.CreateStack==1.0"' +DEBUG [taskflow.engines.action_engine.completer] Modified/tweaked 1 nodes while applying resolver 'RevertAll(strategy=REVERT_ALL)' +DEBUG [taskflow.engines.action_engine.builder] Discarding failure 'Failure: ValueError: ' (in response to outcome 'executed') under completion units request during completion of atom '"magnum.conductor.tasks.heat_tasks.CreateStack==1.0"' (intention is to REVERT) +magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_create_stack_with_error +magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_create_stack_with_error ... ok +magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_delete_stack +magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_delete_stack ... ok +DEBUG [taskflow.engines.action_engine.completer] Applying resolver 'RevertAll(strategy=REVERT_ALL)' to resolve failure 'Failure: ValueError: ' of atom '"magnum.conductor.tasks.heat_tasks.DeleteStack==1.0"' +DEBUG [taskflow.engines.action_engine.completer] Modified/tweaked 1 nodes while applying resolver 'RevertAll(strategy=REVERT_ALL)' +DEBUG [taskflow.engines.action_engine.builder] Discarding failure 'Failure: ValueError: ' (in response to outcome 'executed') under completion units request during completion of atom '"magnum.conductor.tasks.heat_tasks.DeleteStack==1.0"' (intention is to REVERT) +magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_delete_stack_with_error +magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_delete_stack_with_error ... ok +magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_update_stack +magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_update_stack ... ok +DEBUG [taskflow.engines.action_engine.completer] Applying resolver 'RevertAll(strategy=REVERT_ALL)' to resolve failure 'Failure: ValueError: ' of atom '"magnum.conductor.tasks.heat_tasks.UpdateStack==1.0"' +DEBUG [taskflow.engines.action_engine.completer] Modified/tweaked 1 nodes while applying resolver 'RevertAll(strategy=REVERT_ALL)' +DEBUG [taskflow.engines.action_engine.builder] Discarding failure 'Failure: ValueError: ' (in response to outcome 'executed') under completion units request during completion of atom '"magnum.conductor.tasks.heat_tasks.UpdateStack==1.0"' (intention is to REVERT) +magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_update_stack_with_error +magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_update_stack_with_error ... ok +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_is_magnum_auto_healer_running +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_is_magnum_auto_healer_running ... ok +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_compute_cpu_util +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_compute_cpu_util ... ok +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_compute_memory_util +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_compute_memory_util ... ok +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_get_metric_names +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_get_metric_names ... ok +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_get_metric_unit +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_get_metric_unit ... ok +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_healthy +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_healthy ... ok +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_unhealthy_api +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_unhealthy_api ... ok +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_unhealthy_node +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_unhealthy_node ... ok +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_unreachable_cluster +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_unreachable_cluster ... ok +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_unreachable_with_master_lb +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_unreachable_with_master_lb ... ok +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_pull_data_success +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_pull_data_success ... ok +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_cluster_create +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_cluster_create ... ok +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_cluster_delete +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_cluster_delete ... ok +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_issuer_name +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_issuer_name ... ok +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_cluster_update +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_cluster_update ... ok +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_ca_certificate +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_ca_certificate ... ok +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_nodegroup_create +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_nodegroup_create ... ok +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_nodegroup_delete +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_nodegroup_delete ... ok +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_nodegroup_update +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_nodegroup_update ... ok +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_ping_conductor +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_ping_conductor ... ok +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_sign_certificate +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_sign_certificate ... ok +magnum.tests.unit.conductor.test_scale_manager.TestK8sScaleManager.test_get_hosts_with_container +magnum.tests.unit.conductor.test_scale_manager.TestK8sScaleManager.test_get_hosts_with_container ... ok +magnum.tests.unit.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.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.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_federation.DbFederationTestCase.test_create_federation +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_create_federation ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_create_federation_already_exists +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_create_federation_already_exists ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_id_that_does_not_exist +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_id_that_does_not_exist ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_uudid_that_does_not_exist +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_uudid_that_does_not_exist ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_uuid +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_uuid ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_id +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_id ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_name +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_name ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_name_multiple_federation +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_name_multiple_federation ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_uuid +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_uuid ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list ... ok +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_with_bytes_issuer_name +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_with_bytes_issuer_name ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list_by_admin_all_tenants +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list_by_admin_all_tenants ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list_sorted +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list_sorted ... ok +/build/reproducible-path/magnum-19.0.0/magnum/db/sqlalchemy/api.py:116: SAWarning: TypeDecorator JSONEncodedList() will not produce a cache key because the ``cache_ok`` attribute is not set to True. This can have significant performance implications including some performance degradations in comparison to prior SQLAlchemy versions. Set this attribute to True if this type object's state is safe to use in a cache key, or False to disable this warning. (Background on this warning at: https://sqlalche.me/e/20/cprf) + return query.all() +/build/reproducible-path/magnum-19.0.0/magnum/db/sqlalchemy/api.py:116: SAWarning: TypeDecorator JSONEncodedDict() will not produce a cache key because the ``cache_ok`` attribute is not set to True. This can have significant performance implications including some performance degradations in comparison to prior SQLAlchemy versions. Set this attribute to True if this type object's state is safe to use in a cache key, or False to disable this warning. (Background on this warning at: https://sqlalche.me/e/20/cprf) + return query.all() +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list_with_filters +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list_with_filters ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_that_does_not_exist +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_that_does_not_exist ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_update_federation_members +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_update_federation_members ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_update_federation_not_found +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_update_federation_not_found ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_update_federation_properties +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_update_federation_properties ... ok +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_create_magnum_service +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_create_magnum_service ... ok +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_create_magnum_service_failure_for_dup +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_create_magnum_service_failure_for_dup ... ok +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_destroy_magnum_service +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_destroy_magnum_service ... ok +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_destroy_magnum_service_failure +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_destroy_magnum_service_failure ... ok +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_get_magnum_service_by_host_and_binary +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_get_magnum_service_by_host_and_binary ... ok +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_get_magnum_service_by_host_and_binary_failure +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_get_magnum_service_by_host_and_binary_failure ... ok +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_get_magnum_service_list +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_get_magnum_service_list ... ok +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_update_magnum_service +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_update_magnum_service ... ok +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_update_magnum_service_failure +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_update_magnum_service_failure ... ok +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_create_nodegroup +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_create_nodegroup ... ok +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_create_nodegroup_already_exists +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.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.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 +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_create_quota_already_exists ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_delete_quota +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_delete_quota ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_delete_quota_that_does_not_exist +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_delete_quota_that_does_not_exist ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_all +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_all ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_by_project_id_resource +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_by_project_id_resource ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_by_project_id_resource_not_found +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_by_project_id_resource_not_found ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_invalid_sort_key +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_invalid_sort_key ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_sorted +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_sorted ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_with_filters +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_with_filters ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_update_quota +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_update_quota ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_update_quota_not_found +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_update_quota_not_found ... ok +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_create_x509keypair +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_create_x509keypair ... ok +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_create_x509keypair_already_exists +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.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_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.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.common.test_rpc.TestProfilerRequestContextSerializer.test_deserialize_context -magnum.tests.unit.common.test_rpc.TestProfilerRequestContextSerializer.test_deserialize_context ... 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.common.test_rpc.TestProfilerRequestContextSerializer.test_serialize_context -magnum.tests.unit.common.test_rpc.TestProfilerRequestContextSerializer.test_serialize_context ... 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.common.test_rpc.TestRequestContextSerializer.test_deserialize_context -magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_context ... 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.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity -magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity ... 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.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.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.common.test_rpc.TestRequestContextSerializer.test_serialize_context -magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_context ... 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.common.test_rpc.TestRequestContextSerializer.test_serialize_entity -magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity ... 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.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.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.common.test_utils.GeneratePasswordTestCase.test_generate_password -magnum.tests.unit.common.test_utils.GeneratePasswordTestCase.test_generate_password ... 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.common.test_utils.TempFilesTestCase.test_tempdir -magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir ... 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.common.test_utils.TempFilesTestCase.test_tempdir_mocked -magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked ... ok -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_create -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_create ... 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.objects.test_cluster.TestClusterObject.test_destroy -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_destroy ... ok -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_bad_id_and_uuid -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_bad_id_and_uuid ... ok -magnum.tests.unit.common.test_utils.UtilsTestCase.test_get_openstasck_ca -magnum.tests.unit.common.test_utils.UtilsTestCase.test_get_openstasck_ca ... ok -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_by_id -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_by_id ... ok -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_by_name -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_by_name ... ok -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_by_uuid -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_by_uuid ... ok -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_list -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_list ... ok -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_list_all -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_list_all ... ok -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_list_with_filters -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_list_with_filters ... ok -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_refresh -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_refresh ... ok -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_save -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_save ... ok magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_create magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_create ... ok magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_destroy @@ -9433,42 +9447,70 @@ 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.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.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.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.objects.test_cluster_template.TestClusterTemplateObject.test_save magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_save ... ok -magnum.tests.unit.objects.test_fields.TestContainerStatus.test_coerce_bad_values -magnum.tests.unit.objects.test_fields.TestContainerStatus.test_coerce_bad_values ... ok -magnum.tests.unit.objects.test_fields.TestContainerStatus.test_coerce_good_values -magnum.tests.unit.objects.test_fields.TestContainerStatus.test_coerce_good_values ... ok -magnum.tests.unit.objects.test_fields.TestContainerStatus.test_from_primitive -magnum.tests.unit.objects.test_fields.TestContainerStatus.test_from_primitive ... ok -magnum.tests.unit.objects.test_fields.TestContainerStatus.test_stringify -magnum.tests.unit.objects.test_fields.TestContainerStatus.test_stringify ... ok -magnum.tests.unit.objects.test_fields.TestContainerStatus.test_stringify_invalid -magnum.tests.unit.objects.test_fields.TestContainerStatus.test_stringify_invalid ... ok -magnum.tests.unit.objects.test_fields.TestContainerStatus.test_to_primitive -magnum.tests.unit.objects.test_fields.TestContainerStatus.test_to_primitive ... ok -magnum.tests.unit.objects.test_fields.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_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.TestClusterStatus.test_coerce_bad_values +magnum.tests.unit.objects.test_fields.TestClusterStatus.test_coerce_bad_values ... ok +magnum.tests.unit.objects.test_fields.TestClusterStatus.test_coerce_good_values +magnum.tests.unit.objects.test_fields.TestClusterStatus.test_coerce_good_values ... ok +magnum.tests.unit.objects.test_fields.TestClusterStatus.test_from_primitive +magnum.tests.unit.objects.test_fields.TestClusterStatus.test_from_primitive ... ok +magnum.tests.unit.objects.test_fields.TestClusterStatus.test_stringify +magnum.tests.unit.objects.test_fields.TestClusterStatus.test_stringify ... ok +magnum.tests.unit.objects.test_fields.TestClusterStatus.test_stringify_invalid +magnum.tests.unit.objects.test_fields.TestClusterStatus.test_stringify_invalid ... ok +magnum.tests.unit.objects.test_fields.TestClusterStatus.test_to_primitive +magnum.tests.unit.objects.test_fields.TestClusterStatus.test_to_primitive ... ok +magnum.tests.unit.objects.test_fields.TestClusterType.test_coerce_bad_values +magnum.tests.unit.objects.test_fields.TestClusterType.test_coerce_bad_values ... ok +magnum.tests.unit.objects.test_fields.TestClusterType.test_coerce_good_values +magnum.tests.unit.objects.test_fields.TestClusterType.test_coerce_good_values ... ok +magnum.tests.unit.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.objects.test_fields.TestClusterType.test_from_primitive +magnum.tests.unit.objects.test_fields.TestClusterType.test_from_primitive ... ok +magnum.tests.unit.objects.test_fields.TestClusterType.test_stringify +magnum.tests.unit.objects.test_fields.TestClusterType.test_stringify ... ok +magnum.tests.unit.objects.test_fields.TestClusterType.test_stringify_invalid +magnum.tests.unit.objects.test_fields.TestClusterType.test_stringify_invalid ... ok +magnum.tests.unit.objects.test_fields.TestClusterType.test_to_primitive +magnum.tests.unit.objects.test_fields.TestClusterType.test_to_primitive ... ok +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_create +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_create ... ok +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_destroy +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_destroy ... ok +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_id +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_id ... ok +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_name +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_name ... ok +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_uuid +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_uuid ... ok +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_list +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_list ... ok +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_list_with_filters +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_list_with_filters ... ok +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_refresh +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_refresh ... ok +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_save +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_save ... ok magnum.tests.unit.objects.test_objects.TestObject.test_base_attributes magnum.tests.unit.objects.test_objects.TestObject.test_base_attributes ... ok magnum.tests.unit.objects.test_objects.TestObject.test_changed_1 @@ -9483,8 +9525,6 @@ 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.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.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 @@ -9509,6 +9549,8 @@ 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.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.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 @@ -9527,8 +9569,6 @@ 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.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.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 @@ -9541,14 +9581,14 @@ 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.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.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.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.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 @@ -9569,7 +9609,42 @@ magnum.tests.unit.servicegroup.test_magnum_service.MagnumServicePeriodicTestCase.test_update_magnum_service_regular ... ok magnum.tests.unit.template.test_template.TestTemplate.test_template_yaml magnum.tests.unit.template.test_template.TestTemplate.test_template_yaml ... ok +magnum.tests.unit.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 +GET: /v1/clusters/74b19604-cd18-415b-8f5d-b334a751f7d3/nodegroups/e2472359-1206-4009-b499-4bde005e5407 {} +GOT:{'id': 3, 'uuid': 'e2472359-1206-4009-b499-4bde005e5407', 'name': 'test-worker', 'cluster_id': '74b19604-cd18-415b-8f5d-b334a751f7d3', 'project_id': '74b19604-cd18-415b-8f5d-b334a751f7d3', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/74b19604-cd18-415b-8f5d-b334a751f7d3/nodegroups/e2472359-1206-4009-b499-4bde005e5407', 'rel': 'self'}, {'href': 'http://localhost/clusters/74b19604-cd18-415b-8f5d-b334a751f7d3/nodegroups/e2472359-1206-4009-b499-4bde005e5407', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': 'test_image', 'node_addresses': ['172.17.2.4'], 'node_count': 3, 'role': 'worker', 'min_node_count': 1, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2025-01-14T17:23:48.128018+00:00', 'updated_at': None} +GET: /v1/clusters/50dc8a87-8f2d-4d32-be78-02103e79b30c/nodegroups/non_default_ng {} +GOT:{'id': 3, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'non_default_ng', 'cluster_id': '50dc8a87-8f2d-4d32-be78-02103e79b30c', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {'label1': 'value3', 'label2': 'value2', 'label4': 'value4'}, 'links': [{'href': 'http://localhost/v1/clusters/50dc8a87-8f2d-4d32-be78-02103e79b30c/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/50dc8a87-8f2d-4d32-be78-02103e79b30c/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 3, 'role': 'worker', 'min_node_count': 1, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {'label1': 'value1'}, 'labels_added': {'label4': 'value4'}, 'labels_skipped': {}, 'created_at': '2025-01-14T17:23:48.193973+00:00', 'updated_at': None} +GET: /v1/clusters/364b6aee-2be5-4736-90ef-236c61e2bb6c/nodegroups/non_default_ng {} +GOT:{'id': 3, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'non_default_ng', 'cluster_id': '364b6aee-2be5-4736-90ef-236c61e2bb6c', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {'label1': 'value3', 'label4': 'value4'}, 'links': [{'href': 'http://localhost/v1/clusters/364b6aee-2be5-4736-90ef-236c61e2bb6c/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/364b6aee-2be5-4736-90ef-236c61e2bb6c/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 3, 'role': 'worker', 'min_node_count': 1, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {'label1': 'value1'}, 'labels_added': {'label4': 'value4'}, 'labels_skipped': {'label2': 'value2'}, 'created_at': '2025-01-14T17:23:48.249740+00:00', 'updated_at': None} +GET: /v1/clusters/b8a23bb2-9804-4465-b24d-2fa9a367d933/nodegroups/not-here {} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup not-here could not be found", "detail": "Nodegroup not-here could not be found.", "links": []}]} +GET: /v1/clusters/0636b28b-fb7b-48d6-8ee3-d5920028f9ff/nodegroups/5f072fdb-2553-4037-8ede-0f5166acfb1e {} +GOT:Response: 406 Not Acceptable +Content-Type: application/json +{"errors": [{"request_id": "", "code": "", "status": 406, "title": "", "detail": "", "links": []}]} +GET: /v1/stats {} +GOT:{'clusters': 2, 'nodes': 12} +GET: /v1/stats?project_id=34 {} +GOT:{'clusters': 0, 'nodes': 0} +GET: /v1/stats?project_id=234 {} +GOT:{'clusters': 1, 'nodes': 6} +GET: /v1/stats {} +GOT:{'clusters': 0, 'nodes': 0} +GET: /v1/stats?project_id=123&type=invalid {} +GET: /v1/stats {} +GOT:{'clusters': 1, 'nodes': 6} +GET: /v1/stats {} +GOT:{'clusters': 1, 'nodes': 6} +GET: /v1/stats?project_id=123 {} +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 {} @@ -9581,12 +9656,18 @@ GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/dns_nameserver', 'op': 'remove'}] POST: /v1/federations {} -DELETE: /v1/federations/e3c5b19e-2326-4f72-bc35-5ac7ec1388f2 +DELETE: /v1/federations/751305da-2ef3-4394-a9fe-999fd3d2e81c GET: /v1/federations/detail {} GET: /v1/federations {} GET: /v1/federations {} -GOT:{'federations': [{'uuid': '36c3c037-e0a1-437a-9c80-90388a788b1c', '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/36c3c037-e0a1-437a-9c80-90388a788b1c', 'rel': 'self'}, {'href': 'http://localhost/federations/36c3c037-e0a1-437a-9c80-90388a788b1c', 'rel': 'bookmark'}]}]} -PATCH: /v1/federations/99bd3cde-97fd-4335-bc75-c3352582e236 [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'add'}] +GOT:{'federations': [{'uuid': 'fcc7807b-a5f8-47ec-a1c4-8a418f918d61', '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/fcc7807b-a5f8-47ec-a1c4-8a418f918d61', 'rel': 'self'}, {'href': 'http://localhost/federations/fcc7807b-a5f8-47ec-a1c4-8a418f918d61', 'rel': 'bookmark'}]}]} +PATCH: /v1/federations/62d7e9bd-3893-4a23-a04f-426a24848c9d [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'add'}] +GET: /v1/mservices {} +POST: /v1/clusters/d9e9610e-a078-4b38-98c1-42ee2c67efca/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/42c7d4e4-802a-4e59-8219-7e2d09324c93/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 +GET: /v1/clusters/d921a33e-24f5-40a9-8014-40b345bd0287/nodegroups/ {} +GET: /v1/clusters/bd46ee5e-fb2f-4851-821f-66b0dd3fe737/nodegroups/foo {} +PATCH: /v1/clusters/7e73f044-24eb-40e7-9210-94ac528744ab/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 [{'path': '/max_node_count', 'value': 4, 'op': 'replace'}] 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. @@ -9620,52 +9701,12 @@ 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_has_publickey -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_has_publickey ... ok -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_extentions_as_client -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_extentions_as_client ... ok -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_issuer_name -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_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.12/unittest/case.py:580: 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 @@ -9704,164 +9745,184 @@ 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_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_federation_conductor.TestHandler.test_create_federation magnum.tests.unit.conductor.handlers.test_federation_conductor.TestHandler.test_create_federation ... ok magnum.tests.unit.conductor.handlers.test_federation_conductor.TestHandler.test_delete_federation magnum.tests.unit.conductor.handlers.test_federation_conductor.TestHandler.test_delete_federation ... ok magnum.tests.unit.conductor.handlers.test_federation_conductor.TestHandler.test_update_federation magnum.tests.unit.conductor.handlers.test_federation_conductor.TestHandler.test_update_federation ... ok -magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_action -magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_action ... ok -magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_action_copies_object -magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_action_copies_object ... ok -magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_action_on_raise -magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_action_on_raise ... ok -magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_class_action -magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_class_action ... ok -magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_class_action_on_raise -magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_class_action_on_raise ... ok -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_create_stack -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_create_stack ... ok -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_create_stack_no_timeout_specified -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_create_stack_no_timeout_specified ... ok -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_create_stack_timeout_is_zero -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_create_stack_timeout_is_zero ... ok -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition ... ok -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_fcos_no_discoveryurl -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_fcos_no_discoveryurl ... ok -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_fcos_with_discovery -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_fcos_with_discovery ... ok -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_only_required -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_only_required ... ok -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_with_registry -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_with_registry ... ok -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_apiserver_port -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_apiserver_port ... ok -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_discovery_url -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_discovery_url ... ok -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_dns -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_dns ... ok -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_docker_storage_driver -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_docker_storage_driver ... ok -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_server_image -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_server_image ... ok -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_update_stack -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_update_stack ... ok -magnum.tests.unit.conductor.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_federation.DbFederationTestCase.test_create_federation -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_create_federation ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_create_federation_already_exists -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_create_federation_already_exists ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_id_that_does_not_exist -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_id_that_does_not_exist ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_uudid_that_does_not_exist -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_uudid_that_does_not_exist ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_uuid -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_uuid ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_id -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_id ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_name -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_name ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_name_multiple_federation -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_name_multiple_federation ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_uuid -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_uuid ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list_by_admin_all_tenants -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list_by_admin_all_tenants ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list_sorted -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list_sorted ... ok -/build/reproducible-path/magnum-19.0.0/magnum/db/sqlalchemy/api.py:116: SAWarning: TypeDecorator JSONEncodedList() will not produce a cache key because the ``cache_ok`` attribute is not set to True. This can have significant performance implications including some performance degradations in comparison to prior SQLAlchemy versions. Set this attribute to True if this type object's state is safe to use in a cache key, or False to disable this warning. (Background on this warning at: https://sqlalche.me/e/20/cprf) - return query.all() -/build/reproducible-path/magnum-19.0.0/magnum/db/sqlalchemy/api.py:116: SAWarning: TypeDecorator JSONEncodedDict() will not produce a cache key because the ``cache_ok`` attribute is not set to True. This can have significant performance implications including some performance degradations in comparison to prior SQLAlchemy versions. Set this attribute to True if this type object's state is safe to use in a cache key, or False to disable this warning. (Background on this warning at: https://sqlalche.me/e/20/cprf) - return query.all() -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list_with_filters -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list_with_filters ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_that_does_not_exist -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_that_does_not_exist ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_update_federation_members -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_update_federation_members ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_update_federation_not_found -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_update_federation_not_found ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_update_federation_properties -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_update_federation_properties ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_create_quota -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_create_quota ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_create_quota_already_exists -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_create_quota_already_exists ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_delete_quota -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_delete_quota ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_delete_quota_that_does_not_exist -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_delete_quota_that_does_not_exist ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_all -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_all ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_by_project_id_resource -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_by_project_id_resource ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_by_project_id_resource_not_found -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_by_project_id_resource_not_found ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_invalid_sort_key -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_invalid_sort_key ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_sorted -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_sorted ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_with_filters -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_with_filters ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_update_quota -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_update_quota ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_update_quota_not_found -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_update_quota_not_found ... ok -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_create_x509keypair -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_create_x509keypair ... ok -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_create_x509keypair_already_exists -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.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create_failed +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create_failed ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create_failed_bad_request +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create_failed_bad_request ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_failed +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_failed ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_stack_and_ng_not_found +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_stack_and_ng_not_found ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_stack_not_found +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_stack_not_found ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_stack_operation_ongoing +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_stack_operation_ongoing ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_udpate +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_udpate ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_update_failed +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_update_failed ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_update_failed_bad_request +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_update_failed_bad_request ... ok +magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_no_container_host +magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_no_container_host ... ok +magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_one_container_host +magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_one_container_host ... ok +magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_scale_up +magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_scale_up ... ok +magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_three_container_hosts +magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_three_container_hosts ... ok +magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_two_container_hosts +magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_two_container_hosts ... ok +magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_with_none_hosts +magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_with_none_hosts ... ok +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_context +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_context ... ok +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_domain_project_id +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_domain_project_id ... 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 +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_domainid_userid ... ok +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_projectid +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_projectid ... ok +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_userid +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_userid ... ok +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_userid_projectid +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_userid_projectid ... ok +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_object_has_stack_delete_complete_status +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_object_has_stack_delete_complete_status ... ok +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_object_has_stack_delete_in_progress +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_object_has_stack_delete_in_progress ... ok +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_object_has_stack_invalid_status +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_object_has_stack_invalid_status ... ok +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_retrieve_cluster_name +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_retrieve_cluster_name ... ok +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_retrieve_cluster_template +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_retrieve_cluster_template ... ok +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_retrieve_cluster_uuid +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_retrieve_cluster_uuid ... ok +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_retrieve_cluster_uuid_from_name +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_retrieve_cluster_uuid_from_name ... ok +magnum.tests.unit.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.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_default_value +magnum.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_default_value ... ok +magnum.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_type_check +magnum.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_type_check ... ok +magnum.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_default_value +magnum.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_default_value ... ok +magnum.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_type_check +magnum.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_type_check ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_create_cluster +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_create_cluster ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_create_cluster_already_exists +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_create_cluster_already_exists ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_create_cluster_nullable_cluster_template_id +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_create_cluster_nullable_cluster_template_id ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_destroy_cluster +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_destroy_cluster ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_destroy_cluster_by_id_that_does_not_exist +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_destroy_cluster_by_id_that_does_not_exist ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_destroy_cluster_by_uuid +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_destroy_cluster_by_uuid ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_destroy_cluster_by_uuid_that_does_not_exist +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_destroy_cluster_by_uuid_that_does_not_exist ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_all_cluster_stats +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_all_cluster_stats ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_by_id +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_by_id ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_by_name +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_by_name ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_by_name_multiple_cluster +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_by_name_multiple_cluster ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_by_uuid +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_by_uuid ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list_by_admin_all_tenants +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list_by_admin_all_tenants ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list_cluster_template_not_exist +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list_cluster_template_not_exist ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list_sorted +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list_sorted ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list_with_filters +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list_with_filters ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_that_does_not_exist +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_that_does_not_exist ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_one_tenant_cluster_stats +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_one_tenant_cluster_stats ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_update_cluster +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_update_cluster ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_update_cluster_not_found +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_update_cluster_not_found ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_update_cluster_uuid +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_update_cluster_uuid ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_create_cluster_template +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_create_cluster_template ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_create_cluster_template_already_exists +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_create_cluster_template_already_exists ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_destroy_cluster_template +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_destroy_cluster_template ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_destroy_cluster_template_by_uuid +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_destroy_cluster_template_by_uuid ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_destroy_cluster_template_that_does_not_exist +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_destroy_cluster_template_that_does_not_exist ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_destroy_cluster_template_that_referenced_by_clusters +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_destroy_cluster_template_that_referenced_by_clusters ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_id +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_id ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_id_hidden +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_id_hidden ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_id_public +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_id_public ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name_hidden +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name_hidden ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name_multiple_cluster_template +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name_multiple_cluster_template ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name_not_found +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name_not_found ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name_public +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name_public ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_uuid +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_uuid ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_uuid_hidden +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_uuid_hidden ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_uuid_public +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_uuid_public ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_uuid_that_does_not_exist +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_uuid_that_does_not_exist ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_list +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_list ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_list_sorted +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_list_sorted ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_list_with_filters +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_list_with_filters ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_that_does_not_exist +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_that_does_not_exist ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_update_cluster_template +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_update_cluster_template ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_update_cluster_template_that_does_not_exist +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_update_cluster_template_that_does_not_exist ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_update_cluster_template_uuid +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_update_cluster_template_uuid ... ok magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_delete_complete magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_delete_complete ... ok magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_nodegroup_failed @@ -9928,6 +9989,76 @@ magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_stack_not_found_new_ng_updating ... ok magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_stack_not_found_updating magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_stack_not_found_updating ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_discovery_url +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_discovery_url ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_discovery_url_fail +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_discovery_url_fail ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_discovery_url_not_found +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_discovery_url_not_found ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_heat_param +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_heat_param ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_external_network_id +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_external_network_id ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_insecure +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_insecure ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_octavia_disabled +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_octavia_disabled ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_octavia_enabled +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_octavia_enabled ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_scale_params +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_scale_params ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_validate_discovery_url +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_validate_discovery_url ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_validate_discovery_url_fail +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_validate_discovery_url_fail ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_validate_discovery_url_invalid +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_validate_discovery_url_invalid ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_validate_discovery_url_unexpect_size +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_validate_discovery_url_unexpect_size ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_set_master_lb_allowed_cidrs +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_set_master_lb_allowed_cidrs ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_set_master_lb_allowed_cidrs_find_subnet_cidr +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_set_master_lb_allowed_cidrs_find_subnet_cidr ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_set_master_lb_allowed_cidrs_fixed_subnet_cidr +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_set_master_lb_allowed_cidrs_fixed_subnet_cidr ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_k8s_outputs_api_address +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_k8s_outputs_api_address ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_k8s_outputs_if_cluster_template_is_secure +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_k8s_outputs_if_cluster_template_is_secure ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_k8s_outputs_none_api_address +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_k8s_outputs_none_api_address ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_outputs_master_address +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_outputs_master_address ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_outputs_master_address_fip_disabled +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_outputs_master_address_fip_disabled ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_outputs_node_address +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_outputs_node_address ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_outputs_node_address_fip_disabled +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_outputs_node_address_fip_disabled ... ok +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_create +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_create ... ok +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_destroy +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_destroy ... ok +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_bad_id_and_uuid +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_bad_id_and_uuid ... ok +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_by_id +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_by_id ... ok +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_by_name +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_by_name ... ok +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_by_uuid +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_by_uuid ... ok +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_list +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_list ... ok +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_list_all +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_list_all ... ok +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_list_with_filters +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_list_with_filters ... ok +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_refresh +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_refresh ... ok +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_save +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_save ... ok magnum.tests.unit.objects.test_federation.TestFederationObject.test_create magnum.tests.unit.objects.test_federation.TestFederationObject.test_create ... ok magnum.tests.unit.objects.test_federation.TestFederationObject.test_destroy @@ -9950,42 +10081,18 @@ 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.TestClusterStatus.test_coerce_bad_values -magnum.tests.unit.objects.test_fields.TestClusterStatus.test_coerce_bad_values ... ok -magnum.tests.unit.objects.test_fields.TestClusterStatus.test_coerce_good_values -magnum.tests.unit.objects.test_fields.TestClusterStatus.test_coerce_good_values ... ok -magnum.tests.unit.objects.test_fields.TestClusterStatus.test_from_primitive -magnum.tests.unit.objects.test_fields.TestClusterStatus.test_from_primitive ... ok -magnum.tests.unit.objects.test_fields.TestClusterStatus.test_stringify -magnum.tests.unit.objects.test_fields.TestClusterStatus.test_stringify ... ok -magnum.tests.unit.objects.test_fields.TestClusterStatus.test_stringify_invalid -magnum.tests.unit.objects.test_fields.TestClusterStatus.test_stringify_invalid ... ok -magnum.tests.unit.objects.test_fields.TestClusterStatus.test_to_primitive -magnum.tests.unit.objects.test_fields.TestClusterStatus.test_to_primitive ... ok -magnum.tests.unit.objects.test_fields.TestClusterType.test_coerce_bad_values -magnum.tests.unit.objects.test_fields.TestClusterType.test_coerce_bad_values ... ok -magnum.tests.unit.objects.test_fields.TestClusterType.test_coerce_good_values -magnum.tests.unit.objects.test_fields.TestClusterType.test_coerce_good_values ... ok -magnum.tests.unit.objects.test_fields.TestClusterType.test_from_primitive -magnum.tests.unit.objects.test_fields.TestClusterType.test_from_primitive ... ok -magnum.tests.unit.objects.test_fields.TestClusterType.test_stringify -magnum.tests.unit.objects.test_fields.TestClusterType.test_stringify ... ok -magnum.tests.unit.objects.test_fields.TestClusterType.test_stringify_invalid -magnum.tests.unit.objects.test_fields.TestClusterType.test_stringify_invalid ... ok -magnum.tests.unit.objects.test_fields.TestClusterType.test_to_primitive -magnum.tests.unit.objects.test_fields.TestClusterType.test_to_primitive ... ok +magnum.tests.unit.objects.test_fields.TestContainerStatus.test_coerce_bad_values +magnum.tests.unit.objects.test_fields.TestContainerStatus.test_coerce_bad_values ... ok +magnum.tests.unit.objects.test_fields.TestContainerStatus.test_coerce_good_values +magnum.tests.unit.objects.test_fields.TestContainerStatus.test_coerce_good_values ... ok +magnum.tests.unit.objects.test_fields.TestContainerStatus.test_from_primitive +magnum.tests.unit.objects.test_fields.TestContainerStatus.test_from_primitive ... ok +magnum.tests.unit.objects.test_fields.TestContainerStatus.test_stringify +magnum.tests.unit.objects.test_fields.TestContainerStatus.test_stringify ... ok +magnum.tests.unit.objects.test_fields.TestContainerStatus.test_stringify_invalid +magnum.tests.unit.objects.test_fields.TestContainerStatus.test_stringify_invalid ... ok +magnum.tests.unit.objects.test_fields.TestContainerStatus.test_to_primitive +magnum.tests.unit.objects.test_fields.TestContainerStatus.test_to_primitive ... ok magnum.tests.unit.objects.test_fields.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 @@ -9998,6 +10105,18 @@ magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_stringify_invalid ... ok magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_to_primitive magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_to_primitive ... ok +magnum.tests.unit.objects.test_fields.TestServerType.test_coerce_bad_values +magnum.tests.unit.objects.test_fields.TestServerType.test_coerce_bad_values ... ok +magnum.tests.unit.objects.test_fields.TestServerType.test_coerce_good_values +magnum.tests.unit.objects.test_fields.TestServerType.test_coerce_good_values ... ok +magnum.tests.unit.objects.test_fields.TestServerType.test_from_primitive +magnum.tests.unit.objects.test_fields.TestServerType.test_from_primitive ... ok +magnum.tests.unit.objects.test_fields.TestServerType.test_stringify +magnum.tests.unit.objects.test_fields.TestServerType.test_stringify ... ok +magnum.tests.unit.objects.test_fields.TestServerType.test_stringify_invalid +magnum.tests.unit.objects.test_fields.TestServerType.test_stringify_invalid ... ok +magnum.tests.unit.objects.test_fields.TestServerType.test_to_primitive +magnum.tests.unit.objects.test_fields.TestServerType.test_to_primitive ... ok magnum.tests.unit.objects.test_magnum_service.TestMagnumServiceObject.test_create magnum.tests.unit.objects.test_magnum_service.TestMagnumServiceObject.test_create ... ok magnum.tests.unit.objects.test_magnum_service.TestMagnumServiceObject.test_destroy @@ -10010,24 +10129,6 @@ magnum.tests.unit.objects.test_magnum_service.TestMagnumServiceObject.test_report_state_up ... ok magnum.tests.unit.objects.test_magnum_service.TestMagnumServiceObject.test_save magnum.tests.unit.objects.test_magnum_service.TestMagnumServiceObject.test_save ... ok -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_create -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_create ... ok -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_destroy -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_destroy ... ok -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_id -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_id ... ok -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_name -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_name ... ok -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_uuid -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_uuid ... ok -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_list -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_list ... ok -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_list_with_filters -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_list_with_filters ... ok -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_refresh -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_refresh ... ok -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_save -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_save ... ok magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport ... ok magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport_zero @@ -10047,29 +10148,6 @@ magnum.tests.unit.objects.test_objects.TestObjectVersions.test_versions magnum.tests.unit.objects.test_objects.TestObjectVersions.test_versions ... ok -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"id": 12, "uuid": "e291e3e1-290e-447e-93df-a81866e4c48b", "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/e291e3e1-290e-447e-93df-a81866e4c48b", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/e291e3e1-290e-447e-93df-a81866e4c48b", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "test-role", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 0, 'role': 'worker', 'max_node_count': None, 'min_node_count': 0, 'merge_labels': False} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"id": 12, "uuid": "1d9babbd-7826-44c0-9369-0e7fc4087029", "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/1d9babbd-7826-44c0-9369-0e7fc4087029", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/1d9babbd-7826-44c0-9369-0e7fc4087029", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 0, "role": "worker", "min_node_count": 0, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"id": 12, "uuid": "a6ba4be4-1bb2-4ffb-bbed-5b5f79e7045a", "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/a6ba4be4-1bb2-4ffb-bbed-5b5f79e7045a", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/a6ba4be4-1bb2-4ffb-bbed-5b5f79e7045a", "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 @@ -10090,12 +10168,9 @@ GOT:Response: 500 Internal Server Error Content-Type: application/json {"errors": [{"request_id": "", "code": "server", "status": 500, "title": "Error message without traceback \n but \n multiline", "detail": "Error message without traceback \n but \n multiline", "links": []}]} -GET: /v1/mservices {} -POST: /v1/clusters/ea4d9070-cc07-4f75-a6e4-bec79d38c754/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/f6a92b97-741a-49f9-a0a9-4ee562e9ce9b/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 -GET: /v1/clusters/1c7d0618-b399-4d4c-bb22-4502d3f7c490/nodegroups/ {} -GET: /v1/clusters/24b3521a-07cc-419d-987c-325731773b25/nodegroups/foo {} -PATCH: /v1/clusters/5dcd19f1-9556-408a-9cf3-1d0cda4069a2/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 [{'path': '/max_node_count', 'value': 4, 'op': 'replace'}] +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/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 @@ -10104,7 +10179,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-02-16T23:36:38.624915+00:00", "updated_at": null} +{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-01-14T17:23:50.454269+00:00", "updated_at": null} DELETE: /v1/quotas/fake_project/Cluster GET: /v1/quotas {} GET: /v1/quotas/fake_project/Cluster {} @@ -10115,7 +10190,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"id": 42, "hard_limit": 5, "project_id": "fake_project", "resource": "Cluster", "created_at": "2026-02-16T23:36:38.674446+00:00", "updated_at": null} +{"id": 42, "hard_limit": 5, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-01-14T17:23:50.546321+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} @@ -10124,41 +10199,49 @@ GOT:{'clusters': 0, 'nodes': 0} ---------------------------------------------------------------------- -Ran 1164 tests in 20.145s +Ran 1164 tests in 53.455s OK + stestr slowest Test id Runtime (s) ---------------------------------------------------------------------------------------------------------- ----------- -magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_timeout 1.009 -magnum.tests.unit.api.controllers.test_root.TestV1Routing.test_route_checks_version 0.323 -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_extentions_as_client 0.271 -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_has_publickey 0.236 -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_subject_name 0.203 -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_many 0.200 -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid_admin 0.199 -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_issuer_name 0.195 -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_lb_multi_node 0.181 -magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_new_ng_updated 0.180 +magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_timeout 1.023 +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_has_publickey 0.679 +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_issuer_name 0.516 +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_extentions_as_client 0.509 +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_issuer_name 0.495 +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_subject_name 0.456 +magnum.tests.unit.api.controllers.test_root.TestHeathcheck.test_healthcheck_disable_file 0.366 +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_links 0.364 +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_retry_on_failure 0.360 +magnum.tests.unit.common.x509.test_sign.TestX509.test_load_pem_private_key_with_unicode_private_key 0.351 + rm -rf .stestr -+ [ 3.13 = disabled ] -+ echo 3.13 -+ cut -d. -f1 ++ for pyvers in ${PYTHON3S} ++ '[' 3.13 = disabled ']' +++ echo 3.13 +++ cut -d. -f1 + PYMAJOR=3 -+ echo ===> Testing with python (python3) ++ echo '===> Testing with python (python3)' ===> Testing with python (python3) -+ pwd -+ [ -d /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages ] -+ [ -z /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages ] -+ [ -e .stestr.conf ] -+ [ -x /usr/bin/python3-stestr ] +++ pwd ++ '[' -d /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages ']' ++ '[' -z /build/reproducible-path/magnum-19.0.0/debian/tmp/usr/lib/python3/dist-packages ']' ++ '[' -e .stestr.conf ']' ++ '[' -x /usr/bin/python3-stestr ']' + STESTR=stestr + rm -rf .stestr -+ + PYTHON=python3.13 stestr run --parallelsubunit2pyunit --subunit - --concurrency 2 magnum\.tests\.unit\.(?!(drivers\.test_heat_driver\.TestHeatPoller\.test_poll_done|drivers\.test_heat_driver\.TestHeatPoller\.test_poll_destroy|api\.controllers\.v1\.test_baymodel\.TestPatch|api\.controllers\.v1\.test_baymodel\.TestPost|api\.controllers\.v1\.test_cluster_template\.TestPost|api\.controllers\.v1\.test_cluster_template\.TestListClusterTemplate|api\.controllers\.v1\.test_cluster_template\.TestPatch\.test_update_cluster_template_with_cluster_not_allow_update|api\.controllers\.v1\.test_federation\.TestListFederation\.test_collection_links|api\.controllers\.v1\.test_federation\.TestPost\.test_create_federation_with_valid_name)) ++ PYTHON=python3.13 ++ stestr run --parallel --subunit --concurrency 2 'magnum\.tests\.unit\.(?!(drivers\.test_heat_driver\.TestHeatPoller\.test_poll_done|drivers\.test_heat_driver\.TestHeatPoller\.test_poll_destroy|api\.controllers\.v1\.test_baymodel\.TestPatch|api\.controllers\.v1\.test_baymodel\.TestPost|api\.controllers\.v1\.test_cluster_template\.TestPost|api\.controllers\.v1\.test_cluster_template\.TestListClusterTemplate|api\.controllers\.v1\.test_cluster_template\.TestPatch\.test_update_cluster_template_with_cluster_not_allow_update|api\.controllers\.v1\.test_federation\.TestListFederation\.test_collection_links|api\.controllers\.v1\.test_federation\.TestPost\.test_create_federation_with_valid_name))' ++ subunit2pyunit 3 RLock(s) were not greened, to fix this error make sure you run eventlet.monkey_patch() before importing any other modules. 3 RLock(s) were not greened, to fix this error make sure you run eventlet.monkey_patch() before importing any other modules. 3 RLock(s) were not greened, to fix this error make sure you run eventlet.monkey_patch() before importing any other modules. +INFO [alembic.runtime.migration] Context impl SQLiteImpl. +INFO [alembic.runtime.migration] Will assume non-transactional DDL. +INFO [alembic.runtime.migration] Running stamp_revision -> c0f832afc4fd +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_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 @@ -10171,14 +10254,6 @@ magnum.tests.unit.api.controllers.test_base.TestController.test_controller_get_attr_version_not_found ... ok magnum.tests.unit.api.controllers.test_base.TestController.test_controller_get_attribute magnum.tests.unit.api.controllers.test_base.TestController.test_controller_get_attribute ... ok -magnum.tests.unit.api.controllers.test_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 magnum.tests.unit.api.controllers.test_base.TestVersion.test__eq__with_equal magnum.tests.unit.api.controllers.test_base.TestVersion.test__eq__with_equal ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test__eq__with_unequal @@ -10221,8 +10296,6 @@ magnum.tests.unit.api.controllers.test_base.TestVersion.test_is_null_false ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test_is_null_true magnum.tests.unit.api.controllers.test_base.TestVersion.test_is_null_true ... ok -INFO [alembic.runtime.migration] Context impl SQLiteImpl. -INFO [alembic.runtime.migration] Will assume non-transactional DDL. magnum.tests.unit.api.controllers.test_base.TestVersion.test_matches_end_version magnum.tests.unit.api.controllers.test_base.TestVersion.test_matches_end_version ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test_matches_null_version @@ -10237,25 +10310,48 @@ magnum.tests.unit.api.controllers.test_base.TestVersion.test_matches_version_too_low ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_bad_length magnum.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_bad_length ... ok -INFO [alembic.runtime.migration] Running stamp_revision -> c0f832afc4fd magnum.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_latest magnum.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_latest ... ok -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_base.TestVersion.test_parse_headers_ok magnum.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_ok ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test_parse_incorrect_service_type magnum.tests.unit.api.controllers.test_base.TestVersion.test_parse_incorrect_service_type ... ok -magnum.tests.unit.api.controllers.test_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_base.TestVersion.test_parse_no_header magnum.tests.unit.api.controllers.test_base.TestVersion.test_parse_no_header ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test_repr magnum.tests.unit.api.controllers.test_base.TestVersion.test_repr ... ok -magnum.tests.unit.api.controllers.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_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.TestV1Routing.test_route_checks_version +magnum.tests.unit.api.controllers.test_root.TestV1Routing.test_route_checks_version ... ok +magnum.tests.unit.api.controllers.v1.test_certificate.TestCertObject.test_cert_init +magnum.tests.unit.api.controllers.v1.test_certificate.TestCertObject.test_cert_init ... ok +magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one +magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one ... ok +magnum.tests.unit.api.controllers.v1.test_certificate.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_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.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 +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_root.TestRootController.test_api_paste_file_not_exist +magnum.tests.unit.api.controllers.test_root.TestRootController.test_api_paste_file_not_exist ... ok +magnum.tests.unit.api.controllers.test_root.TestRootController.test_api_paste_file_not_exist_not_abs +magnum.tests.unit.api.controllers.test_root.TestRootController.test_api_paste_file_not_exist_not_abs ... ok +magnum.tests.unit.api.controllers.test_root.TestRootController.test_auth_with_no_public_routes +magnum.tests.unit.api.controllers.test_root.TestRootController.test_auth_with_no_public_routes ... ok magnum.tests.unit.api.controllers.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 @@ -10266,121 +10362,109 @@ magnum.tests.unit.api.controllers.test_root.TestRootController.test_noauth ... ok magnum.tests.unit.api.controllers.test_root.TestRootController.test_v1_controller magnum.tests.unit.api.controllers.test_root.TestRootController.test_v1_controller ... ok -INFO [alembic.runtime.migration] Context impl SQLiteImpl. -INFO [alembic.runtime.migration] Will assume non-transactional DDL. magnum.tests.unit.api.controllers.test_root.TestRootController.test_version magnum.tests.unit.api.controllers.test_root.TestRootController.test_version ... ok -magnum.tests.unit.api.controllers.v1.test_certificate.TestCertObject.test_cert_init -magnum.tests.unit.api.controllers.v1.test_certificate.TestCertObject.test_cert_init ... ok -INFO [alembic.runtime.migration] Running stamp_revision -> c0f832afc4fd -magnum.tests.unit.api.controllers.test_root.TestHeathcheck.test_healthcheck_disable_file -magnum.tests.unit.api.controllers.test_root.TestHeathcheck.test_healthcheck_disable_file ... ok magnum.tests.unit.api.controllers.v1.test_certificate.TestCertPolicyEnforcement.test_policy_disallow_create magnum.tests.unit.api.controllers.v1.test_certificate.TestCertPolicyEnforcement.test_policy_disallow_create ... ok -magnum.tests.unit.api.controllers.test_root.TestHeathcheck.test_healthcheck_enabled -magnum.tests.unit.api.controllers.test_root.TestHeathcheck.test_healthcheck_enabled ... ok magnum.tests.unit.api.controllers.v1.test_certificate.TestCertPolicyEnforcement.test_policy_disallow_get_one magnum.tests.unit.api.controllers.v1.test_certificate.TestCertPolicyEnforcement.test_policy_disallow_get_one ... ok -magnum.tests.unit.api.controllers.test_root.TestV1Routing.test_route_checks_version -magnum.tests.unit.api.controllers.test_root.TestV1Routing.test_route_checks_version ... ok magnum.tests.unit.api.controllers.v1.test_certificate.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 +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_certificate.TestPost.test_create_cert_cluster_not_found +magnum.tests.unit.api.controllers.v1.test_certificate.TestPost.test_create_cert_cluster_not_found ... ok magnum.tests.unit.api.controllers.v1.test_certificate.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_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_links +magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_links ... 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.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.TestClusterPolicyEnforcement.test_policy_disallow_create magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_create ... ok -magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one_by_name_multiple_cluster -magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one_by_name_multiple_cluster ... ok -magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one_by_name_not_found -magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one_by_name_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_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.TestClusterPolicyEnforcement.test_policy_disallow_delete magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_delete ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_detail magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_detail ... ok magnum.tests.unit.api.controllers.v1.test_cluster.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_certificate.TestGetCaCertificate.test_links -magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_links ... 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_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_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_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.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_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.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_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_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.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.TestDelete.test_delete_cluster_as_admin -magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster_as_admin ... ok -POST: /v1/certificates {'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'csr': 'fake-csr', 'pem': 'fake-pem'} -GOT:Response: 403 Forbidden +GET: /v1/ {} +GOT:{'id': 'v1', 'media_types': [{'base': 'application/json', 'type': 'application/vnd.openstack.magnum.v1+json'}], 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}, {'href': 'http://docs.openstack.org/developer/magnum/dev/api-spec-v1.html', 'rel': 'describedby', 'type': 'text/html'}], 'clustertemplates': [{'href': 'http://localhost/v1/clustertemplates/', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/', 'rel': 'bookmark'}], 'clusters': [{'href': 'http://localhost/v1/clusters/', 'rel': 'self'}, {'href': 'http://localhost/clusters/', 'rel': 'bookmark'}], 'quotas': [{'href': 'http://localhost/v1/quotas/', 'rel': 'self'}, {'href': 'http://localhost/quotas/', 'rel': 'bookmark'}], 'certificates': [{'href': 'http://localhost/v1/certificates/', 'rel': 'self'}, {'href': 'http://localhost/certificates/', 'rel': 'bookmark'}], 'mservices': [{'href': 'http://localhost/v1/mservices/', 'rel': 'self'}, {'href': 'http://localhost/mservices/', 'rel': 'bookmark'}], 'stats': [{'href': 'http://localhost/v1/stats/', 'rel': 'self'}, {'href': 'http://localhost/stats/', 'rel': 'bookmark'}], 'federations': [{'href': 'http://localhost/v1/federations/', 'rel': 'self'}, {'href': 'http://localhost/federations/', 'rel': 'bookmark'}], 'nodegroups': [{'href': 'http://localhost/v1/clusters/{cluster_id}/nodegroups', 'rel': 'self'}, {'href': 'http://localhost/clusters/{cluster_id}/nodegroups', 'rel': 'bookmark'}]} +GET: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} +GET: /v1/certificates/cluster1 {} +GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} +GET: /v1/certificates/test_cluster {} +GOT:Response: 409 Conflict Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 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": "Multiple clusters exist with same name", "detail": "Multiple clusters exist with same name. Please use the cluster uuid instead.", "links": []}]} +GET: /v1/certificates/not_found {} +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 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 {} +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not_found could not be found", "detail": "Cluster not_found could not be found.", "links": []}]} +GET: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} +GET: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} +GET: /certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} +GET: /v1/clusters/?limit=3 {} +GOT:{'clusters': [{'uuid': '40c758c1-d86d-4b8d-96fd-2e837c0b6e6e', '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/40c758c1-d86d-4b8d-96fd-2e837c0b6e6e', 'rel': 'self'}, {'href': 'http://localhost/clusters/40c758c1-d86d-4b8d-96fd-2e837c0b6e6e', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'cddbf2af-c0f9-4d93-aedf-5da6ad421d77', '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/cddbf2af-c0f9-4d93-aedf-5da6ad421d77', 'rel': 'self'}, {'href': 'http://localhost/clusters/cddbf2af-c0f9-4d93-aedf-5da6ad421d77', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'f118074b-4325-4a01-8892-001ece9d8542', '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/f118074b-4325-4a01-8892-001ece9d8542', 'rel': 'self'}, {'href': 'http://localhost/clusters/f118074b-4325-4a01-8892-001ece9d8542', '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=f118074b-4325-4a01-8892-001ece9d8542'} +GET: /v1/clusters {} +GOT:{'clusters': [{'uuid': 'c1063697-0b75-4985-94c8-7f94301ea568', '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/c1063697-0b75-4985-94c8-7f94301ea568', 'rel': 'self'}, {'href': 'http://localhost/clusters/c1063697-0b75-4985-94c8-7f94301ea568', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'd9a1fb78-3523-4cd1-9994-5f11c5fa01e5', '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/d9a1fb78-3523-4cd1-9994-5f11c5fa01e5', 'rel': 'self'}, {'href': 'http://localhost/clusters/d9a1fb78-3523-4cd1-9994-5f11c5fa01e5', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'da1b7eda-bb37-4e90-9f00-340b5b2b3ec7', '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/da1b7eda-bb37-4e90-9f00-340b5b2b3ec7', 'rel': 'self'}, {'href': 'http://localhost/clusters/da1b7eda-bb37-4e90-9f00-340b5b2b3ec7', '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=da1b7eda-bb37-4e90-9f00-340b5b2b3ec7'}magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_collection_links_default_limit +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_collection_links_default_limit ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail_against_single +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail_against_single ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail_with_pagination_marker +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail_with_pagination_marker ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_empty +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_empty ... ok +POST: /v1/certificates {'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'csr': 'fake-csr', 'pem': 'fake-pem'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow certificate:rotate_ca to be performed", "detail": "Policy doesn't allow certificate:rotate_ca to be performed.", "links": []}]} +{"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:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} -GET: /v1/certificates/cluster1 {} -GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} -GET: /v1/certificates/test_cluster {} -GOT:Response: 409 Conflict +GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Multiple clusters exist with same name", "detail": "Multiple clusters exist with same name. Please use the cluster uuid instead.", "links": []}]} -GET: /v1/certificates/not_found {} -GOT:Response: 404 Not Found +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow certificate:get to be performed", "detail": "Policy doesn't allow certificate:get to be performed.", "links": []}]} +PATCH: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not_found could not be found", "detail": "Cluster not_found could not be found.", "links": []}]} -GET: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} -GET: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} -GET: /certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow certificate:rotate_ca to be performed", "detail": "Policy doesn't allow certificate:rotate_ca to be performed.", "links": []}]} POST: /v1/certificates {'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'csr': 'fake-csr'} GOT:Response: 201 Created Content-Type: application/json @@ -10406,6 +10490,14 @@ Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Cluster not_found could not be found", "detail": "Cluster not_found could not be found.", "links": []}]} PATCH: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} +PATCH: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 @@ -10413,191 +10505,1441 @@ Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Rotating the CA certificate on a non-TLS cluster is not supported", "detail": "Rotating the CA certificate on a non-TLS cluster is not supported", "links": []}]} -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} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 403 Forbidden +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:create to be performed", "detail": "Policy doesn't allow cluster:create to be performed.", "links": []}]} +DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 +GOT:Response: 403 Forbidden +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:delete to be performed", "detail": "Policy doesn't allow cluster:delete to be performed.", "links": []}]} +GET: /v1/clusters/370dea32-3b98-45e4-ba16-b2918b81a1a4/detail {} +GOT:Response: 403 Forbidden +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:detail to be performed", "detail": "Policy doesn't allow cluster:detail to be performed.", "links": []}]} +GET: /v1/clusters {} +GOT:Response: 403 Forbidden +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:get_all to be performed", "detail": "Policy doesn't allow cluster:get_all to be performed.", "links": []}]} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:Response: 403 Forbidden +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:get to be performed", "detail": "Policy doesn't allow cluster:get to be performed.", "links": []}]} +PATCH: /v1/clusters/cluster_example_A [{'path': '/name', 'value': 'new_name', 'op': 'replace'}] +GOT:Response: 403 Forbidden +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:update to be performed", "detail": "Policy doesn't allow cluster:update to be performed.", "links": []}]} +DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 +GOT:Response: 403 Forbidden +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:delete to be performed", "detail": "Policy doesn't allow cluster:delete to be performed.", "links": []}]} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {}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.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 +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 +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_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.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.TestListCluster.test_get_all_with_pagination_marker +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_all_with_pagination_marker ... ok + +GOT:Response: 403 Forbidden +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:get to be performed", "detail": "Policy doesn't allow cluster:get to be performed.", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/name', 'value': 'new_name', 'op': 'replace'}] +GOT:Response: 403 Forbidden +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:update to be performed", "detail": "Policy doesn't allow cluster:update to be performed.", "links": []}]} +DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 +GOT:Response: 204 No Content +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version + +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 could not be found", "detail": "Cluster 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 could not be found.", "links": []}]} +DELETE: /v1/clusters/c5a0aacc-47ca-494c-bb87-ebc8f5a80292 +GOT:Response: 204 No Content +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version + +DELETE: /v1/clusters/a64ee555-2b8f-48e3-8e0e-9356948142b4 +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster a64ee555-2b8f-48e3-8e0e-9356948142b4 could not be found", "detail": "Cluster a64ee555-2b8f-48e3-8e0e-9356948142b4 could not be found.", "links": []}]} +DELETE: /v1/clusters/cluster1 +GOT:Response: 204 No Content +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version + +DELETE: /v1/clusters/not_found +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not_found could not be found", "detail": "Cluster not_found could not be found.", "links": []}]} +DELETE: /v1/clusters/test_cluster +GOT:Response: 409 Conflict +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Multiple clusters exist with same name", "detail": "Multiple clusters exist with same name. Please use the cluster uuid instead.", "links": []}]} +POST: /v1/clustertemplates {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'image_id': 'ubuntu', 'flavor_id': 'm1.small', 'master_flavor_id': 'm1.small', 'keypair_id': 'keypair1', 'external_network_id': 'd1f02cfb-d27f-4068-9332-84d907cb0e2e', 'fixed_network': 'private', 'fixed_subnet': 'private-subnet', 'network_driver': None, 'volume_driver': None, 'dns_nameserver': '8.8.1.1', 'apiserver_port': 8080, 'docker_volume_size': 20, 'docker_storage_driver': 'devicemapper', 'cluster_distro': 'fedora-coreos', 'coe': 'kubernetes', 'labels': {'key1': 'val1', 'key2': 'val2'}, 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'registry_enabled': False, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'hidden': False, 'tags': '', 'driver': ''} +GOT:Response: 403 Forbidden +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:create to be performed", "detail": "Policy doesn't allow clustertemplate:create to be performed.", "links": []}]} +DELETE: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 +GOT:Response: 403 Forbidden +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:delete to be performed", "detail": "Policy doesn't allow clustertemplate:delete to be performed.", "links": []}]} +GET: /v1/clustertemplates/42576f95-857c-41a3-899f-f2bb0eae57d0/detail {} +GOT:Response: 403 Forbidden +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:detail to be performed", "detail": "Policy doesn't allow clustertemplate:detail to be performed.", "links": []}]} +GET: /v1/clustertemplates {} +GOT:Response: 403 Forbidden +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:get_all to be performed", "detail": "Policy doesn't allow clustertemplate:get_all to be performed.", "links": []}]} +GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} +GOT:Response: 403 Forbidden +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:get to be performed", "detail": "Policy doesn't allow clustertemplate:get to be performed.", "links": []}]} +PATCH: /v1/clustertemplates/example_A [{'path': '/name', 'value': 'new_name', 'op': 'replace'}] +GOT:Response: 403 Forbidden +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:update to be performed", "detail": "Policy doesn't allow clustertemplate:update to be performed.", "links": []}]} +DELETE: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 +GOT:Response: 403 Forbidden +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:delete to be performed", "detail": "Policy doesn't allow clustertemplate:delete to be performed.", "links": []}]}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_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.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_template.TestDelete.test_delete_cluster_template_as_admin +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_as_admin ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_not_found +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_cluster +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_cluster ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_name +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_name ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_name_not_found +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_name_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_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 + +GET: /v1/clusters/detail {} +GOT:{'clusters': [{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-14T17:24:50.400249+00:00', 'updated_at': None}]} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/detail {} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "The %(name)s resource %(id)s could not be found", "detail": "The %(name)s resource %(id)s could not be found.", "links": []}]} +GET: /v1/clusters/detail?limit=3&marker=82b5189d-b918-47a0-ad07-712595ef36c7 {} +GOT:{'clusters': [{'uuid': 'cce76191-5f08-42e2-a18b-a7f502257500', '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/cce76191-5f08-42e2-a18b-a7f502257500', 'rel': 'self'}, {'href': 'http://localhost/clusters/cce76191-5f08-42e2-a18b-a7f502257500', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-14T17:24:50.601727+00:00', 'updated_at': None}]} +GET: /v1/clusters {} +GOT:{'clusters': []} +GET: /v1/clusters {} +GOT:{'clusters': [{'uuid': '8e878a60-7bb1-4bf0-b4ee-667afc29a6bf', '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/8e878a60-7bb1-4bf0-b4ee-667afc29a6bf', 'rel': 'self'}, {'href': 'http://localhost/clusters/8e878a60-7bb1-4bf0-b4ee-667afc29a6bf', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'ee131965-dca3-4ee6-ad57-22bbdbb0cc7a', '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/ee131965-dca3-4ee6-ad57-22bbdbb0cc7a', 'rel': 'self'}, {'href': 'http://localhost/clusters/ee131965-dca3-4ee6-ad57-22bbdbb0cc7a', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '4e175436-8530-4468-9240-163ab933cb9e', '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/4e175436-8530-4468-9240-163ab933cb9e', 'rel': 'self'}, {'href': 'http://localhost/clusters/4e175436-8530-4468-9240-163ab933cb9e', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '4dc2ab56-b244-400e-b930-06d45c69fea5', '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/4dc2ab56-b244-400e-b930-06d45c69fea5', 'rel': 'self'}, {'href': 'http://localhost/clusters/4dc2ab56-b244-400e-b930-06d45c69fea5', '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=caa554db-025d-420a-a2ae-ec7c8dcbf3e2 {} +GOT:{'clusters': [{'uuid': '404beb5f-f975-4d0e-b5ed-2a265c7b4793', '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/404beb5f-f975-4d0e-b5ed-2a265c7b4793', 'rel': 'self'}, {'href': 'http://localhost/clusters/404beb5f-f975-4d0e-b5ed-2a265c7b4793', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}]} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-14T17:24:51.386228+00:00', 'updated_at': None} +GET: /v1/clusters/cluster1 {} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-14T17:24:51.602726+00:00', 'updated_at': None}magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name_multiple_cluster +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name_multiple_cluster ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name_not_found +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation +magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation_not_found +magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_federation.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.TestListFederation.test_detail +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail ... 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_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_cluster.TestListCluster.test_get_one_by_uuid_admin +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid_admin ... ok + +GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} +GOT:Response: 403 Forbidden +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:get to be performed", "detail": "Policy doesn't allow clustertemplate:get to be performed.", "links": []}]} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/name', 'value': 'new_name', 'op': 'replace'}] +GOT:Response: 403 Forbidden +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:update to be performed", "detail": "Policy doesn't allow clustertemplate:update to be performed.", "links": []}]} +DELETE: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 +GOT:Response: 204 No Content +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version + +GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "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/ccdc2d9e-b06f-4ee9-820c-e127b2759fea +GOT:Response: 204 No Content +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version + +DELETE: /v1/clustertemplates/a7a4aa26-f5ef-49e7-ae6a-885f5491c800 +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "ClusterTemplate a7a4aa26-f5ef-49e7-ae6a-885f5491c800 could not be found", "detail": "ClusterTemplate a7a4aa26-f5ef-49e7-ae6a-885f5491c800 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.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "ClusterTemplate e74c40e0-d825-11e2-a28f-0800200c9a66 is referenced by one or multiple clusters", "detail": "ClusterTemplate e74c40e0-d825-11e2-a28f-0800200c9a66 is referenced by one or multiple clusters.", "links": []}]} +DELETE: /v1/clustertemplates/clustermodel1 +GOT:Response: 204 No Content +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version + +DELETE: /v1/clustertemplates/not_found +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "ClusterTemplate not_found could not be found", "detail": "ClusterTemplate not_found could not be found.", "links": []}]} +DELETE: /v1/clustertemplates/test_cluster_template +GOT:Response: 409 Conflict +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.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": []}]} +DELETE: /v1/federations/412368fc-4c86-43c4-ab44-c90df1c21a4f +GOT:Response: 204 No Content +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version + +GET: /v1/federations/412368fc-4c86-43c4-ab44-c90df1c21a4f {} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation 412368fc-4c86-43c4-ab44-c90df1c21a4f could not be found", "detail": "Federation 412368fc-4c86-43c4-ab44-c90df1c21a4f could not be found.", "links": []}]} +DELETE: /v1/federations/4d585303-3769-44eb-81f2-d39d2228bfc9 +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation 4d585303-3769-44eb-81f2-d39d2228bfc9 could not be found", "detail": "Federation 4d585303-3769-44eb-81f2-d39d2228bfc9 could not be found.", "links": []}]} +DELETE: /v1/federations/federation-example +GOT:Response: 204 No Content +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version + +DELETE: /v1/federations/foo +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation foo could not be found", "detail": "Federation foo could not be found.", "links": []}]} +GET: /v1/federations/detail {} +GOT:{'federations': [{'uuid': '3ead5d33-fb29-4e3a-8007-f68ed1774399', '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/3ead5d33-fb29-4e3a-8007-f68ed1774399', 'rel': 'self'}, {'href': 'http://localhost/federations/3ead5d33-fb29-4e3a-8007-f68ed1774399', 'rel': 'bookmark'}], 'created_at': '2025-01-14T17:24:52.155430+00:00', 'updated_at': None}]} +GET: /v1/federations/892b430f-8ed0-449e-aecf-83e98529273d/detail {} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "The %(name)s resource %(id)s could not be found", "detail": "The %(name)s resource %(id)s could not be found.", "links": []}]} +GET: /v1/federations/detail?limit=3&marker=f574909a-f0d4-41f3-a77d-3008b9916552 {} +GOT:{'federations': [{'uuid': '1770133e-a873-4eca-bd1e-7e2e38dc2cb8', '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/1770133e-a873-4eca-bd1e-7e2e38dc2cb8', 'rel': 'self'}, {'href': 'http://localhost/federations/1770133e-a873-4eca-bd1e-7e2e38dc2cb8', 'rel': 'bookmark'}], 'created_at': '2025-01-14T17:24:52.234866+00:00', 'updated_at': None}]}magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail_with_pagination_marker +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail_with_pagination_marker ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_empty +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_empty ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_all_with_pagination_marker +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_all_with_pagination_marker ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name_multiple_federation +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name_multiple_federation ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name_not_found +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_uuid +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_uuid ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid_not_found +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_federation.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 +Exception ignored in: . at 0x7f141b77e520> +Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 729, in + _finalize_fairy( + File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 1035, in _finalize_fairy + connection_record.checkin() + File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 770, in checkin + pool.dispatch.checkin(connection, self) + File "/usr/lib/python3/dist-packages/sqlalchemy/event/attr.py", line 497, in __call__ + fn(*args, **kw) + File "/usr/lib/python3/dist-packages/oslo_db/sqlalchemy/engines.py", line 52, in _thread_yield + time.sleep(0) + File "/usr/lib/python3/dist-packages/eventlet/greenthread.py", line 35, in sleep + raise RuntimeError('do not call blocking functions from the mainloop') +RuntimeError: do not call blocking functions from the mainloop +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_links +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_links ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_many +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_many ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_failed_cluster +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_failed_cluster ... ok + +GET: /v1/federations {} +GOT:{'federations': []} +GET: /v1/federations?limit=3&marker=a0c345d8-46b4-4e8d-93c1-c3120c181c32 {} +GOT:{'federations': [{'uuid': '3ab8be7a-9b02-4065-88aa-594100bed043', '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/3ab8be7a-9b02-4065-88aa-594100bed043', 'rel': 'self'}, {'href': 'http://localhost/federations/3ab8be7a-9b02-4065-88aa-594100bed043', 'rel': 'bookmark'}]}]} +GET: /v1/federations/30bab9bd-359d-44b1-82fa-e803a0d71de3 {} +GOT:{'uuid': '30bab9bd-359d-44b1-82fa-e803a0d71de3', '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/30bab9bd-359d-44b1-82fa-e803a0d71de3', 'rel': 'self'}, {'href': 'http://localhost/federations/30bab9bd-359d-44b1-82fa-e803a0d71de3', 'rel': 'bookmark'}], 'created_at': '2025-01-14T17:24:52.357921+00:00', 'updated_at': None} +GET: /v1/federations/fake-name {} +GOT:{'uuid': '6a39acda-93ec-4301-b026-5508e5100b51', '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/6a39acda-93ec-4301-b026-5508e5100b51', 'rel': 'self'}, {'href': 'http://localhost/federations/6a39acda-93ec-4301-b026-5508e5100b51', 'rel': 'bookmark'}], 'created_at': '2025-01-14T17:24:52.396361+00:00', 'updated_at': None} +GET: /v1/federations/test_federation {} +GOT:Response: 409 Conflict +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Multiple federations exist with same name", "detail": "Multiple federations exist with same name. Please use the federation uuid instead.", "links": []}]} +GET: /v1/federations/not_found {} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation not_found could not be found", "detail": "Federation not_found could not be found.", "links": []}]} +GET: /v1/federations/1fa258e2-c2d7-4f8c-ad04-460a76b75619 {} +GOT:{'uuid': '1fa258e2-c2d7-4f8c-ad04-460a76b75619', '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/1fa258e2-c2d7-4f8c-ad04-460a76b75619', 'rel': 'self'}, {'href': 'http://localhost/federations/1fa258e2-c2d7-4f8c-ad04-460a76b75619', 'rel': 'bookmark'}], 'created_at': '2025-01-14T17:24:52.510176+00:00', 'updated_at': None} +GET: /v1/federations/17032853-b1a3-42e2-8f3e-b1a71ddcb5d5 {} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation 17032853-b1a3-42e2-8f3e-b1a71ddcb5d5 could not be found", "detail": "Federation 17032853-b1a3-42e2-8f3e-b1a71ddcb5d5 could not be found.", "links": []}]} +GET: /v1/federations/f26163e7-1a6f-4030-a499-b0c6781bb3c9 {} +GOT:{'uuid': 'f26163e7-1a6f-4030-a499-b0c6781bb3c9', '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/f26163e7-1a6f-4030-a499-b0c6781bb3c9', 'rel': 'self'}, {'href': 'http://localhost/federations/f26163e7-1a6f-4030-a499-b0c6781bb3c9', 'rel': 'bookmark'}], 'created_at': '2025-01-14T17:24:52.579178+00:00', 'updated_at': None} +GET: /v1/federations/f26163e7-1a6f-4030-a499-b0c6781bb3c9 {} +GOT:{'uuid': 'f26163e7-1a6f-4030-a499-b0c6781bb3c9', '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/f26163e7-1a6f-4030-a499-b0c6781bb3c9', 'rel': 'self'}, {'href': 'http://localhost/federations/f26163e7-1a6f-4030-a499-b0c6781bb3c9', 'rel': 'bookmark'}], 'created_at': '2025-01-14T17:24:52.579178+00:00', 'updated_at': None} +GET: /federations/f26163e7-1a6f-4030-a499-b0c6781bb3c9 {} +GOT:{'uuid': 'f26163e7-1a6f-4030-a499-b0c6781bb3c9', '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/f26163e7-1a6f-4030-a499-b0c6781bb3c9', 'rel': 'self'}, {'href': 'http://localhost/federations/f26163e7-1a6f-4030-a499-b0c6781bb3c9', 'rel': 'bookmark'}], 'created_at': '2025-01-14T17:24:52.579178+00:00', 'updated_at': None} +GET: /v1/federations {} +GOT:{'federations': [{'uuid': 'a899b107-8dd1-40de-aec2-0728e981faf7', '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/a899b107-8dd1-40de-aec2-0728e981faf7', 'rel': 'self'}, {'href': 'http://localhost/federations/a899b107-8dd1-40de-aec2-0728e981faf7', 'rel': 'bookmark'}]}, {'uuid': '1031a883-c245-4cfa-83bc-0b7c72408c53', '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/1031a883-c245-4cfa-83bc-0b7c72408c53', 'rel': 'self'}, {'href': 'http://localhost/federations/1031a883-c245-4cfa-83bc-0b7c72408c53', 'rel': 'bookmark'}]}, {'uuid': '2f91fd43-9698-4aac-b767-712f9d2dd654', '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/2f91fd43-9698-4aac-b767-712f9d2dd654', 'rel': 'self'}, {'href': 'http://localhost/federations/2f91fd43-9698-4aac-b767-712f9d2dd654', 'rel': 'bookmark'}]}, {'uuid': '2b9075f2-1f6a-4795-8af4-48a2b68badae', '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/2b9075f2-1f6a-4795-8af4-48a2b68badae', 'rel': 'self'}, {'href': 'http://localhost/federations/2b9075f2-1f6a-4795-8af4-48a2b68badae', 'rel': 'bookmark'}]}, {'uuid': 'b050dd14-3550-4779-ba75-741f74202497', '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/b050dd14-3550-4779-ba75-741f74202497', 'rel': 'self'}, {'href': 'http://localhost/federations/b050dd14-3550-4779-ba75-741f74202497', 'rel': 'bookmark'}]}]} +GET: /v1/federations {} +GOT:{'federations': [{'uuid': '91f367a3-820f-43db-9e5b-9ae23fd21bbf', '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/91f367a3-820f-43db-9e5b-9ae23fd21bbf', 'rel': 'self'}, {'href': 'http://localhost/federations/91f367a3-820f-43db-9e5b-9ae23fd21bbf', 'rel': 'bookmark'}]}]}magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_one +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_one ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_as_admin +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_as_admin ... ok +magnum.tests.unit.api.controllers.v1.test_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_cluster.TestListCluster.test_get_one_merged_labels +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_merged_labels ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_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 +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 +Exception ignored in: . at 0x7fec07614fe0> +Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 729, in + _finalize_fairy( + File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 1035, in _finalize_fairy + connection_record.checkin() + File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 770, in checkin + pool.dispatch.checkin(connection, self) + File "/usr/lib/python3/dist-packages/sqlalchemy/event/attr.py", line 497, in __call__ + fn(*args, **kw) + File "/usr/lib/python3/dist-packages/oslo_db/sqlalchemy/engines.py", line 52, in _thread_yield + time.sleep(0) + File "/usr/lib/python3/dist-packages/eventlet/greenthread.py", line 35, in sleep + raise RuntimeError('do not call blocking functions from the mainloop') +RuntimeError: do not call blocking functions from the mainloop + +GET: /v1/clusters/test_cluster {} +GOT:Response: 409 Conflict +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Multiple clusters exist with same name", "detail": "Multiple clusters exist with same name. Please use the cluster uuid instead.", "links": []}]} +GET: /v1/clusters/not_found {} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not_found could not be found", "detail": "Cluster not_found could not be found.", "links": []}]} +GET: /v1/clusters/af7e2c3b-a535-494e-85f5-0a9c9923bdcc {} +GOT:{'uuid': 'af7e2c3b-a535-494e-85f5-0a9c9923bdcc', '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/af7e2c3b-a535-494e-85f5-0a9c9923bdcc', 'rel': 'self'}, {'href': 'http://localhost/clusters/af7e2c3b-a535-494e-85f5-0a9c9923bdcc', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-14T17:24:52.083818+00:00', 'updated_at': None} +GET: /v1/clusters/1e678585-281a-411b-8ac0-886f8f296535 {} +GOT:{'uuid': '1e678585-281a-411b-8ac0-886f8f296535', '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/1e678585-281a-411b-8ac0-886f8f296535', 'rel': 'self'}, {'href': 'http://localhost/clusters/1e678585-281a-411b-8ac0-886f8f296535', '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': '1e678585-281a-411b-8ac0-886f8f296535', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-14T17:24:52.300031+00:00', 'updated_at': None} +GET: /v1/clusters/7e9a1d2e-da63-4026-9e22-1cf9dcb54ffe {} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 7e9a1d2e-da63-4026-9e22-1cf9dcb54ffe could not be found", "detail": "Cluster 7e9a1d2e-da63-4026-9e22-1cf9dcb54ffe could not be found.", "links": []}]} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_FAILED', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'faults': {'test-master': 'fake_reason'}, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-14T17:24:52.650629+00:00', 'updated_at': None} +GET: /v1/clusters/92d63233-4b9d-48f4-861b-708e977bf1b3 {} +GOT:{'uuid': '92d63233-4b9d-48f4-861b-708e977bf1b3', 'name': 'cluster1', 'cluster_template_id': '6154a8fe-2f25-4e49-a310-a2efefc02bec', '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/92d63233-4b9d-48f4-861b-708e977bf1b3', 'rel': 'self'}, {'href': 'http://localhost/clusters/92d63233-4b9d-48f4-861b-708e977bf1b3', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {'label1': 'value1'}, 'labels_added': {'label4': 'value4'}, 'labels_skipped': {'label2': 'value2'}, 'master_lb_enabled': True, 'created_at': '2025-01-14T17:24:52.894600+00:00', 'updated_at': None} +GET: /v1/clusters/77b55ebd-b192-432f-a60a-f28091cfed29 {} +GOT:{'uuid': '77b55ebd-b192-432f-a60a-f28091cfed29', '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/77b55ebd-b192-432f-a60a-f28091cfed29', 'rel': 'self'}, {'href': 'http://localhost/clusters/77b55ebd-b192-432f-a60a-f28091cfed29', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-14T17:24:53.106158+00:00', 'updated_at': None} +GET: /v1/clusters/77b55ebd-b192-432f-a60a-f28091cfed29 {} +GOT:{'uuid': '77b55ebd-b192-432f-a60a-f28091cfed29', '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/77b55ebd-b192-432f-a60a-f28091cfed29', 'rel': 'self'}, {'href': 'http://localhost/clusters/77b55ebd-b192-432f-a60a-f28091cfed29', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-14T17:24:53.106158+00:00', 'updated_at': None}magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_links +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_links ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_with_pagination_marker +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_with_pagination_marker ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_wrong_microversion +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_wrong_microversion ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_many +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_many ... ok + +GET: /v1/clusters/e64cf626-3c4c-4bef-b396-1fd9d1add1db/nodegroups {} +GOT:{'nodegroups': [{'uuid': 'edfd9e44-10e8-4b1b-9b9b-d38c367882fe', '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': '1c571426-3a11-4f82-982a-561360ddbcd3', '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/35261b1e-0dec-40f1-9800-76b33375c71e/nodegroups {} +GOT:{'nodegroups': [{'uuid': 'a6730eb8-25f3-41df-961d-c720042c47be', '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': 'ab629bea-b804-4a11-88f5-923d46bd100c', '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': '77c2a96e-92b3-4936-bf33-aeb61290f9fa', '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': '42e6f229-1d1d-421d-afe1-f462ab7b7983', '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': '38d49262-1712-4176-8a03-7ebecd4ce2ba', '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': '67a6262e-4eea-4151-9b27-c917aa7fbb83', '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': 'a6f248be-a920-465e-b72f-256902fb2c05', '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': 'fc8eebfd-6956-4352-8665-d72c49786adb', 'name': 'test-worker', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'worker', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}]} +GET: /v1/clusters/not-here/nodegroups {} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not-here could not be found", "detail": "Cluster not-here could not be found.", "links": []}]} +GET: /v1/clusters/2ff5026c-3b0f-43f9-aff0-6eb619b9d439/nodegroups?limit=1 {} +GOT:{'nodegroups': [{'uuid': '283bb2c6-1858-44ab-865e-eb5356c4dffd', '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/2ff5026c-3b0f-43f9-aff0-6eb619b9d439/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=283bb2c6-1858-44ab-865e-eb5356c4dffd'} +GET: /v1/clusters/2ff5026c-3b0f-43f9-aff0-6eb619b9d439/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=283bb2c6-1858-44ab-865e-eb5356c4dffd {} +GOT:{'nodegroups': [{'uuid': 'a4f33832-4c8c-4714-aad0-9f4ca129ba47', '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/2ff5026c-3b0f-43f9-aff0-6eb619b9d439/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=a4f33832-4c8c-4714-aad0-9f4ca129ba47'} +GET: /v1/clusters/2ff5026c-3b0f-43f9-aff0-6eb619b9d439/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=a4f33832-4c8c-4714-aad0-9f4ca129ba47 {} +GOT:{'nodegroups': []} +GET: /v1/clusters/00e99a67-e10c-4f93-a593-1deb987b97b0/nodegroups/ {} +GOT:Response: 406 Not Acceptable +Content-Type: application/json +{"errors": [{"request_id": "", "code": "", "status": 406, "title": "", "detail": "", "links": []}]} +GET: /v1/clusters/4b4e91d2-9901-4b09-be75-b5c8ab55d780/nodegroups/efa9fbe5-5912-4313-8fdf-f5ce8b0e329f {} +GOT:{'id': 1, 'uuid': 'efa9fbe5-5912-4313-8fdf-f5ce8b0e329f', 'name': 'test-worker', 'cluster_id': '4b4e91d2-9901-4b09-be75-b5c8ab55d780', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/4b4e91d2-9901-4b09-be75-b5c8ab55d780/nodegroups/efa9fbe5-5912-4313-8fdf-f5ce8b0e329f', 'rel': 'self'}, {'href': 'http://localhost/clusters/4b4e91d2-9901-4b09-be75-b5c8ab55d780/nodegroups/efa9fbe5-5912-4313-8fdf-f5ce8b0e329f', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': 'test_image', 'node_addresses': ['172.17.2.4'], 'node_count': 3, 'role': 'worker', 'min_node_count': 1, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2025-01-14T17:24:53.642580+00:00', 'updated_at': None} +GET: /v1/clusters/aeb02f6d-5d6b-4195-b231-8e2e4efc1219/nodegroups/fc7f86e0-74ae-47d6-bb34-db991dc6eddb {} +GOT:{'id': 3, 'uuid': 'fc7f86e0-74ae-47d6-bb34-db991dc6eddb', 'name': 'test-worker', 'cluster_id': 'aeb02f6d-5d6b-4195-b231-8e2e4efc1219', 'project_id': 'aeb02f6d-5d6b-4195-b231-8e2e4efc1219', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/aeb02f6d-5d6b-4195-b231-8e2e4efc1219/nodegroups/fc7f86e0-74ae-47d6-bb34-db991dc6eddb', 'rel': 'self'}, {'href': 'http://localhost/clusters/aeb02f6d-5d6b-4195-b231-8e2e4efc1219/nodegroups/fc7f86e0-74ae-47d6-bb34-db991dc6eddb', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': 'test_image', 'node_addresses': ['172.17.2.4'], 'node_count': 3, 'role': 'worker', 'min_node_count': 1, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2025-01-14T17:24:53.707067+00:00', 'updated_at': None}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 +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_quota.TestQuota.test_create_quota +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_invalid_hard_limit +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_invalid_hard_limit ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_invalid_resource +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_invalid_resource ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_one +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_one ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_no_project_id +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_no_project_id ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_project_id_not_found +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_project_id_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_zero_quota +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_zero_quota ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_delete_quota +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_delete_quota ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_empty +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_empty ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_tenants +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_tenants ... ok +magnum.tests.unit.api.controllers.v1.test_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_quota.TestQuota.test_get_all_admin_all_tenants_false +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_tenants_false ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_mandatory_property_fail +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_mandatory_property_fail ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_non_existent_property +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_non_existent_property ... ok + +GET: /v1/clusters/89ddbb7a-a79a-439f-9c50-ee360bd75146/nodegroups/non_default_ng {} +GOT:{'id': 3, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'non_default_ng', 'cluster_id': '89ddbb7a-a79a-439f-9c50-ee360bd75146', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {'label1': 'value3', 'label2': 'value2', 'label4': 'value4'}, 'links': [{'href': 'http://localhost/v1/clusters/89ddbb7a-a79a-439f-9c50-ee360bd75146/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/89ddbb7a-a79a-439f-9c50-ee360bd75146/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 3, 'role': 'worker', 'min_node_count': 1, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {'label1': 'value1'}, 'labels_added': {'label4': 'value4'}, 'labels_skipped': {}, 'created_at': '2025-01-14T17:24:53.774690+00:00', 'updated_at': None} +GET: /v1/clusters/0d497194-6c6c-4520-a117-72ee0e863001/nodegroups/non_default_ng {} +GOT:{'id': 3, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'non_default_ng', 'cluster_id': '0d497194-6c6c-4520-a117-72ee0e863001', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {'label1': 'value3', 'label4': 'value4'}, 'links': [{'href': 'http://localhost/v1/clusters/0d497194-6c6c-4520-a117-72ee0e863001/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/0d497194-6c6c-4520-a117-72ee0e863001/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 3, 'role': 'worker', 'min_node_count': 1, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {'label1': 'value1'}, 'labels_added': {'label4': 'value4'}, 'labels_skipped': {'label2': 'value2'}, 'created_at': '2025-01-14T17:24:53.829943+00:00', 'updated_at': None} +GET: /v1/clusters/39b97ed1-8edc-483b-9a81-d7e004d1909a/nodegroups/not-here {} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup not-here could not be found", "detail": "Nodegroup not-here could not be found.", "links": []}]} +GET: /v1/clusters/5cf5722e-f319-46a2-99d0-42632929fb33/nodegroups/707ea4e4-f7e2-4870-8823-97762bc035ed {} +GOT:Response: 406 Not Acceptable +Content-Type: application/json +{"errors": [{"request_id": "", "code": "", "status": 406, "title": "", "detail": "", "links": []}]} +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} +GOT:Response: 201 Created +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-01-14T17:24:53.973711+00:00", "updated_at": null} +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': -10} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute hard_limit", "detail": "Invalid input for field/attribute hard_limit. Value: '-10'. Value should be greater or equal to 0", "links": []}]} +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'invalid-res', 'hard_limit': 10} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute resource", "detail": "Invalid input for field/attribute resource. Value: 'invalid-res'. Value should be one of: Cluster", "links": []}]} +POST: /v1/quotas {'id': 42, 'resource': 'Cluster', 'hard_limit': 10} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Must provide a valid project ID", "detail": "Must provide a valid project ID.", "links": []}]} +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "The project_id fake_project could not be found", "detail": "The project_id fake_project could not be found.", "links": []}]} +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 0} +GOT:Response: 201 Created +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"id": 42, "hard_limit": 0, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-01-14T17:24:54.110838+00:00", "updated_at": null} +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} +GOT:Response: 201 Created +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-01-14T17:24:54.141137+00:00", "updated_at": null} +DELETE: /v1/quotas/fake_project/Cluster +GOT:Response: 204 No Content +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version + +GET: /v1/quotas/fake_project/Cluster {} +GOT:Response: 200 OK +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"hard_limit": 20, "project_id": "fake_project", "resource": "Cluster"} +GET: /v1/quotas {} +GOT:{'quotas': []} +GET: /v1/quotas?all_tenants=True {} +GOT:{'quotas': [{'id': 1, 'hard_limit': 10, 'project_id': 'proj-id-0', 'resource': 'Cluster', 'created_at': '2025-01-14T17:24:54.213949+00:00', 'updated_at': None}, {'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2025-01-14T17:24:54.215559+00:00', 'updated_at': None}, {'id': 3, 'hard_limit': 10, 'project_id': 'proj-id-2', 'resource': 'Cluster', 'created_at': '2025-01-14T17:24:54.216492+00:00', 'updated_at': None}, {'id': 4, 'hard_limit': 10, 'project_id': 'proj-id-3', 'resource': 'Cluster', 'created_at': '2025-01-14T17:24:54.217451+00:00', 'updated_at': None}]} +GET: /v1/quotas?all_tenants=False {} +GOT:{'quotas': [{'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2025-01-14T17:24:54.249383+00:00', 'updated_at': None}]} +GET: /v1/quotas?limit=3&marker=3&all_tenants=True {}magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_with_pagination_marker +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_with_pagination_marker ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_not_all_tenants +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_not_all_tenants ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_non_admin +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_non_admin ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_with_non_admin_context +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_with_non_admin_context ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_with_pagination_limit +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_with_pagination_limit ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_no_config_default +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_no_config_default ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_not_authorized +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_not_authorized ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_with_config_default +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_with_config_default ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_one +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_one ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_patch_quota +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_patch_quota ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_patch_quota_not_found +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_patch_quota_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuotaObject.test_quota_init +magnum.tests.unit.api.controllers.v1.test_quota.TestQuotaObject.test_quota_init ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_invalid_single_dns +magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_invalid_single_dns ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_valid_multi_dns +magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_valid_multi_dns ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_valid_single_dns +magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_valid_single_dns ... ok + +GET: /clusters/77b55ebd-b192-432f-a60a-f28091cfed29 {} +GOT:{'uuid': '77b55ebd-b192-432f-a60a-f28091cfed29', '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/77b55ebd-b192-432f-a60a-f28091cfed29', 'rel': 'self'}, {'href': 'http://localhost/clusters/77b55ebd-b192-432f-a60a-f28091cfed29', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-14T17:24:53.106158+00:00', 'updated_at': None} +GET: /v1/clusters {} +GOT:{'clusters': [{'uuid': '29115e34-1946-4c3f-acb9-00ef9633965d', '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/29115e34-1946-4c3f-acb9-00ef9633965d', 'rel': 'self'}, {'href': 'http://localhost/clusters/29115e34-1946-4c3f-acb9-00ef9633965d', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'e5678e69-fba3-4bfa-93d7-dfef96b87dcc', '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/e5678e69-fba3-4bfa-93d7-dfef96b87dcc', 'rel': 'self'}, {'href': 'http://localhost/clusters/e5678e69-fba3-4bfa-93d7-dfef96b87dcc', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '0a38ec6e-8aec-4d12-b75f-15272f084830', '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/0a38ec6e-8aec-4d12-b75f-15272f084830', 'rel': 'self'}, {'href': 'http://localhost/clusters/0a38ec6e-8aec-4d12-b75f-15272f084830', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'a05eda84-3089-4b25-9eb2-d3bc12fcad76', '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/a05eda84-3089-4b25-9eb2-d3bc12fcad76', 'rel': 'self'}, {'href': 'http://localhost/clusters/a05eda84-3089-4b25-9eb2-d3bc12fcad76', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'a057f177-b875-4942-8d1a-642dea68ee42', '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/a057f177-b875-4942-8d1a-642dea68ee42', 'rel': 'self'}, {'href': 'http://localhost/clusters/a057f177-b875-4942-8d1a-642dea68ee42', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}]} +GET: /v1/clusters {} +GOT:{'clusters': [{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Adding a new attribute /foo to the root of the resource is not allowed", "detail": "Adding a new attribute /foo to the root of the resource is not allowed.", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/uuid', 'op': 'remove'}] +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/uuid' is an internal attribute and can not be updated", "detail": "'/uuid' is an internal attribute and can not be updated", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/cluster_template_id', 'op': 'remove'}] +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/cluster_template_id' is a mandatory attribute and can not be removed", "detail": "'/cluster_template_id' is a mandatory attribute and can not be removed", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/non-existent', 'op': 'remove'}] +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Couldn't apply patch '[{'path': '/non-existent', 'op': 'remove'}]'", "detail": "Couldn't apply patch '[{'path': '/non-existent', 'op': 'remove'}]'. Reason: can't remove a non-existent object 'non-existent'", "links": []}]} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'UNKNOWN', 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-14T17:24:54.515126+00:00', 'updated_at': None}magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_ok ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_cluster_name_failed +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_cluster_name_failed ... ok +magnum.tests.unit.api.controllers.v1.test_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_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_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_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_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_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_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_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.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.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.test_hooks.TestNoExceptionTracebackHook.test_hook_exception_success +magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_exception_success ... ok +magnum.tests.unit.api.controllers.v1.test_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.test_hooks.TestNoExceptionTracebackHook.test_hook_remote_error_success +magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_remote_error_success ... ok +magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_server_debug_on_clientfault +magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_server_debug_on_clientfault ... ok +magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_server_debug_on_serverfault +magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_server_debug_on_serverfault ... ok +magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback +magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback ... ok +magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_http +magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_http ... ok +magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_http_config_workers +magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_http_config_workers ... ok +magnum.tests.unit.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.cmd.test_api.TestMagnumAPI.test_api_https +magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https ... ok +magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https_no_cert +magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https_no_cert ... ok +magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https_no_key +magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https_no_key ... ok +magnum.tests.unit.cmd.test_conductor.TestMagnumConductor.test_conductor +magnum.tests.unit.cmd.test_conductor.TestMagnumConductor.test_conductor ... ok +magnum.tests.unit.cmd.test_conductor.TestMagnumConductor.test_conductor_config_workers +magnum.tests.unit.cmd.test_conductor.TestMagnumConductor.test_conductor_config_workers ... ok +magnum.tests.unit.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.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.TestPatch.test_replace_ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok ... ok +magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_get_no_permission +magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_get_no_permission ... ok +magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_update_no_permission +magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_update_no_permission ... ok +magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_create_no_permission +magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_create_no_permission ... ok +magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_delete_no_permission +magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_delete_no_permission ... ok +magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_get_all_no_permission +magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_get_all_no_permission ... ok + +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/node_count', 'op': 'remove'}] GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "75f0df4b-5d2a-4b73-bd9f-c54568e1f95d"} -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} +{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 1, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'UPDATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'UNKNOWN', 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-14T17:24:54.515126+00:00', 'updated_at': '2025-01-14T17:24:54.631595+00:00'} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/name', 'value': 'cluster_example_B', 'op': 'replace'}] +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "cannot change cluster property(ies) name", "detail": "cannot change cluster property(ies) name.", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/cluster_template_id', 'value': 'a151acba-3ce5-447c-a504-7db4d0716d70', 'op': 'replace'}] +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "cannot change cluster property(ies) cluster_template_id", "detail": "cannot change cluster property(ies) cluster_template_id.", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/health_status', 'value': 'HEALTHY', 'op': 'replace'}, {'path': '/health_status_reason', 'value': '{"api": "ok"}', 'op': 'replace'}] GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "0e2a6c5d-010b-4431-a31b-aa67a132f750"}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_doesnt_contain_id +{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 6, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'UPDATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'HEALTHY', 'health_status_reason': {'api': 'ok'}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4', '172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-14T17:24:54.951094+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/node_count', 'value': -1, 'op': 'replace'}] +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute node_count", "detail": "Invalid input for field/attribute node_count. Value: '-1'. Value should be greater or equal to 0", "links": []}]} +PATCH: /v1/clusters/b20a2718-144b-442c-94bb-4d088ab36a07 [{'path': '/name', 'value': 'cluster_example_B', 'op': 'replace'}] +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster b20a2718-144b-442c-94bb-4d088ab36a07 could not be found", "detail": "Cluster b20a2718-144b-442c-94bb-4d088ab36a07 could not be found.", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/cluster_template_id', 'value': '33d37965-ce79-41c0-8eac-9bcb47084ba8', 'op': 'replace'}] +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "cannot change cluster property(ies) cluster_template_id", "detail": "cannot change cluster property(ies) cluster_template_id.", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/node_count', 'value': 4, 'op': 'replace'}] +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 4, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'UPDATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'UNKNOWN', 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-14T17:24:55.849307+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_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.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_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.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.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.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.common.policies.test_quota_policy.TestQuotaPolicy.test_get_no_permission +magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_get_no_permission ... ok +magnum.tests.unit.api.controllers.v1.test_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 + +GOT:{'quotas': [{'id': 4, 'hard_limit': 10, 'project_id': 'proj-id-3', 'resource': 'Cluster', 'created_at': '2025-01-14T17:24:54.286096+00:00', 'updated_at': None}]} +GET: /v1/quotas {} +GOT:{'quotas': [{'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2025-01-14T17:24:54.319669+00:00', 'updated_at': None}]} +GET: /v1/quotas {} +GOT:{'quotas': [{'id': 3, 'hard_limit': 10, 'project_id': 'proj-id-2', 'resource': 'Cluster', 'created_at': '2025-01-14T17:24:54.356559+00:00', 'updated_at': None}]} +GET: /v1/quotas?all_tenants=True {} +GOT:{'quotas': []} +GET: /v1/quotas?limit=2&all_tenants=True {} +GOT:{'quotas': [{'id': 1, 'hard_limit': 10, 'project_id': 'proj-id-0', 'resource': 'Cluster', 'created_at': '2025-01-14T17:24:54.427137+00:00', 'updated_at': None}, {'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2025-01-14T17:24:54.428469+00:00', 'updated_at': None}], 'next': 'http://localhost/v1/quotas?sort_key=id&sort_dir=asc&limit=2&marker=2'} +GET: /v1/quotas/fake_project/Cluster {} +GOT:{'id': 1, 'hard_limit': 10, 'project_id': 'fake_project', 'resource': 'Cluster', 'created_at': '2025-01-14T17:24:54.459329+00:00', 'updated_at': None} +GET: /v1/quotas/fake_project/Cluster {} +GOT:Response: 200 OK +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"hard_limit": 20, "project_id": "fake_project", "resource": "Cluster"} +GET: /v1/quotas/invalid_proj/invalid_res {} +GOT:Response: 403 Forbidden +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Not authorized", "detail": "Not authorized.", "links": []}]} +GET: /v1/quotas/fake_project/Cluster {} +GOT:Response: 200 OK +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"hard_limit": 15, "project_id": "fake_project", "resource": "Cluster"} +GET: /v1/quotas {} +GOT:{'quotas': [{'id': 1, 'hard_limit': 10, 'project_id': 'fake_project', 'resource': 'Cluster', 'created_at': '2025-01-14T17:24:54.578793+00:00', 'updated_at': None}]} +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 5} +GOT:Response: 201 Created +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"id": 42, "hard_limit": 5, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-01-14T17:24:54.620206+00:00", "updated_at": null} +PATCH: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 20} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"id": 42, "hard_limit": 20, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-01-14T17:24:54.620206+00:00", "updated_at": "2025-01-14T17:24:54.631186+00:00"} +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} +GOT:Response: 201 Created +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-01-14T17:24:54.662013+00:00", "updated_at": null} +PATCH: /v1/quotas {'project_id': 'not-found', 'hard_limit': 20, 'resource': 'Cluster'} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Quota could not be found: project_id not-found resource Cluster", "detail": "Quota could not be found: project_id not-found resource Cluster.", "links": []}]} +GET: / {} +GOT:Response: 500 Internal Server Error +Content-Type: application/json +{"errors": [{"request_id": "", "code": "server", "status": 500, "title": "Test exception message", "detail": "Test exception message.", "links": []}]} +GET: / {} +GOT:Response: 500 Internal Server Error +Content-Type: application/json +{"errors": [{"request_id": "", "code": "server", "status": 500, "title": "Remote error: TestException Test exception message", "detail": "Remote error: TestException Test exception message.\n['", "links": []}]} +GET: / {} +GOT:Response: 400 Bad Request +Content-Type: application/json +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Test exception message", "detail": "Test exception message.\nTraceback (most recent call last):\n File \"/opt/stack/magnum/magnum/openstack/common/rpc/amqp.py\", line 434, in _process_data\\n **args)\n File \"/opt/stack/magnum/magnum/openstack/common/rpc/dispatcher.py\", line 172, in dispatch\\n result = getattr(proxyobj, method)(context, **kwargs)", "links": []}]} +GET: / {} +GOT:Response: 500 Internal Server Error +Content-Type: application/json +{"errors": [{"request_id": "", "code": "server", "status": 500, "title": "Test exception message", "detail": "Test exception message.", "links": []}]} +GET: / {} +GOT:Response: 500 Internal Server Error +Content-Type: application/json +{"errors": [{"request_id": "", "code": "server", "status": 500, "title": "Error message without traceback \n but \n multiline", "detail": "Error message without traceback \n but \n multiline", "links": []}]} +POST: /v1/certificates {'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'csr': 'fake-csr'} +GET: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +PATCH: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 +GET: /v1/clusters {} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +PATCH: /v1/clusters/cluster_example_A [{'path': '/node_count', 'value': 4, 'op': 'replace'}] +GET: /v1/mservices {} +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} +GOT:Response: 201 Created +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-01-14T17:24:56.736923+00:00", "updated_at": null} +DELETE: /v1/quotas/fake_project/Cluster +GET: /v1/quotas {} +GET: /v1/quotas/fake_project/Cluster {} +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 5} +GOT:Response: 201 Created +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"id": 42, "hard_limit": 5, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-01-14T17:24:56.897236+00:00", "updated_at": null}magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_update_no_permission +magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_update_no_permission ... ok +magnum.tests.unit.common.test_exception.TestException.test_all_exceptions +magnum.tests.unit.common.test_exception.TestException.test_all_exceptions ... ok +magnum.tests.unit.common.test_exception.TestException.test_custom_message_is_templated +magnum.tests.unit.common.test_exception.TestException.test_custom_message_is_templated ... ok +magnum.tests.unit.common.test_exception.TestException.test_message_is_templated +magnum.tests.unit.common.test_exception.TestException.test_message_is_templated ... ok +magnum.tests.unit.common.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.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.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.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.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 +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.common.test_octavia.OctaviaTest.test_delete_loadbalancers_timeout +magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_timeout ... 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.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.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_cluster.TestPost.test_create_cluster +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster ... 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.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.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_cluster.TestPost.test_create_cluster_generate_uuid magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_generate_uuid ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_no_cluster_template_id -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_no_cluster_template_id ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_resource_limit_reached -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_resource_limit_reached ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_set_project_id_and_user_id -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_set_project_id_and_user_id ... ok -GET: /v1/ {} -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'}]} -PATCH: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +magnum.tests.unit.common.test_rpc.TestRpc.test_cleanup_notifier_null +magnum.tests.unit.common.test_rpc.TestRpc.test_cleanup_notifier_null ... ok +magnum.tests.unit.common.test_rpc.TestRpc.test_cleanup_transport_null +magnum.tests.unit.common.test_rpc.TestRpc.test_cleanup_transport_null ... ok +magnum.tests.unit.common.test_rpc.TestRpc.test_clear_extra_exmods +magnum.tests.unit.common.test_rpc.TestRpc.test_clear_extra_exmods ... ok +magnum.tests.unit.common.test_rpc.TestRpc.test_get_client +magnum.tests.unit.common.test_rpc.TestRpc.test_get_client ... ok +magnum.tests.unit.common.test_rpc.TestRpc.test_get_client_profiler_enabled +magnum.tests.unit.common.test_rpc.TestRpc.test_get_client_profiler_enabled ... ok GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version {"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} -GOT:Response: 403 Forbidden +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 4, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'UPDATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'UNKNOWN', 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-14T17:24:56.224679+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} +PATCH: /v1/clusters/test_cluster [{'path': '/name', 'value': 'test_cluster', 'op': 'replace'}] +GOT:Response: 409 Conflict Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:create to be performed", "detail": "Policy doesn't allow cluster:create to be performed.", "links": []}]} -DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 -GOT:Response: 403 Forbidden +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Multiple clusters exist with same name", "detail": "Multiple clusters exist with same name. Please use the cluster uuid instead.", "links": []}]} +PATCH: /v1/clusters/not_found [{'path': '/name', 'value': 'not_found', 'op': 'replace'}] +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 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/1d906a4a-035f-4f8b-bfb0-3ffca9a942d1/detail {} -GOT:Response: 403 Forbidden +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not_found could not be found", "detail": "Cluster not_found could not be found.", "links": []}]} +PATCH: /v1/clusters/bdbfb503-9a6d-41d7-baf1-bc6ed98f5e53 [{'path': '/cluster_id', 'value': 'bdbfb503-9a6d-41d7-baf1-bc6ed98f5e53', 'op': 'replace'}] +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:detail to be performed", "detail": "Policy doesn't allow cluster:detail to be performed.", "links": []}]} -GET: /v1/clusters {} -GOT:Response: 403 Forbidden +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster bdbfb503-9a6d-41d7-baf1-bc6ed98f5e53 could not be found", "detail": "Cluster bdbfb503-9a6d-41d7-baf1-bc6ed98f5e53 could not be found.", "links": []}]} +PATCH: /v1/clusters/a8f38f8f-1916-44d3-8854-7af517adce1c [{'path': '/node_count', 'value': 4, 'op': 'replace'}] +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:get_all to be performed", "detail": "Policy doesn't allow cluster:get_all to be performed.", "links": []}]} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:Response: 403 Forbidden +{"uuid": "a8f38f8f-1916-44d3-8854-7af517adce1c"} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/?rollback=False [{'path': '/node_count', 'value': 4, 'op': 'replace'}] +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.3 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:get to be performed", "detail": "Policy doesn't allow cluster:get to be performed.", "links": []}]} -PATCH: /v1/clusters/cluster_example_A [{'path': '/name', 'value': 'new_name', 'op': 'replace'}] -GOT:Response: 403 Forbidden +{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/?rollback=True [{'path': '/node_count', 'value': 4, 'op': 'replace'}] +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.3 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:update to be performed", "detail": "Policy doesn't allow cluster:update to be performed.", "links": []}]} -DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 -GOT:Response: 403 Forbidden +{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/node_count', 'value': 0, 'op': 'replace'}] +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.10 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:delete to be performed", "detail": "Policy doesn't allow cluster:delete to be performed.", "links": []}]} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:Response: 403 Forbidden +{"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.11 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": 403, "title": "Policy doesn't allow cluster:get to be performed", "detail": "Policy doesn't allow cluster:get to be performed.", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/name', 'value': 'new_name', 'op': 'replace'}] -GOT:Response: 403 Forbidden +{"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.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:update to be performed", "detail": "Policy doesn't allow cluster:update to be performed.", "links": []}]} -DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 -GOT:Response: 204 No Content -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version - -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:Response: 404 Not Found +{"uuid": "f527724c-d00f-42a7-b681-fc1af180c069"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"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/28d1a31e-a6db-48c3-b51d-7e53331ebf96 -GOT:Response: 204 No Content -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version - -DELETE: /v1/clusters/871abc08-0667-4082-bac1-9300612a5bda -GOT:Response: 404 Not Found +{"uuid": "d4dc3f50-e258-4e79-95ac-f51c5f218882"} +POST: /v1/clusters {'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 871abc08-0667-4082-bac1-9300612a5bda could not be found", "detail": "Cluster 871abc08-0667-4082-bac1-9300612a5bda could not be found.", "links": []}]}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 -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 +{"uuid": "08230a4c-d531-4e6c-a1f3-bb0fc7e8cc20"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_no_cluster_template_id +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_no_cluster_template_id ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_resource_limit_reached +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_resource_limit_reached ... ok +magnum.tests.unit.common.test_rpc.TestRpc.test_get_server +magnum.tests.unit.common.test_rpc.TestRpc.test_get_server ... 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.common.test_rpc.TestRpc.test_get_server_profiler_enabled +magnum.tests.unit.common.test_rpc.TestRpc.test_get_server_profiler_enabled ... ok +magnum.tests.unit.common.test_rpc.TestRpc.test_get_transport_url +magnum.tests.unit.common.test_rpc.TestRpc.test_get_transport_url ... ok +magnum.tests.unit.common.test_rpc.TestRpc.test_get_transport_url_null +magnum.tests.unit.common.test_rpc.TestRpc.test_get_transport_url_null ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_cinder_csi_disabled magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_cinder_csi_disabled ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_collection_links -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_collection_links ... 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.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_cluster_template_name magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_cluster_template_name ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_docker_volume_size magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_docker_volume_size ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_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.TestPost.test_create_cluster_with_flavor_id magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_flavor_id ... ok -Exception ignored in: . at 0x7f8a2f90c360> -Traceback (most recent call last): - File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 729, in - _finalize_fairy( - File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 1035, in _finalize_fairy - connection_record.checkin() - File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 770, in checkin - pool.dispatch.checkin(connection, self) - File "/usr/lib/python3/dist-packages/sqlalchemy/event/attr.py", line 497, in __call__ - fn(*args, **kw) - File "/usr/lib/python3/dist-packages/oslo_db/sqlalchemy/engines.py", line 52, in _thread_yield - time.sleep(0) - File "/usr/lib/python3/dist-packages/eventlet/greenthread.py", line 35, in sleep - raise RuntimeError('do not call blocking functions from the mainloop') -RuntimeError: do not call blocking functions from the mainloop -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail_against_single -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail_against_single ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_check_exit_code_boolean +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_check_exit_code_boolean ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_get_root_helper +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_get_root_helper ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_without_root_helper +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_without_root_helper ... ok -POST: /v1/clusters {'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "d3d63746-9563-4703-939c-9d0396112948"} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 @@ -10612,7 +11954,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "759a375f-b510-45c4-94c3-500912838d2f"} +{"uuid": "0382b9b1-d415-4f37-81db-a37710658e49"} 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 @@ -10628,7 +11970,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "7700bc4b-7ae3-4434-a8fd-97f9ee208a33"} +{"uuid": "a96ef062-6c1b-4382-85d5-5d6a790fbf5c"} 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 @@ -10636,7 +11978,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "56f1aeca-189f-48c2-89cf-def6e696e241"} +{"uuid": "667cebf4-2762-4de7-a5a0-ec0d44b123cd"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'clustermodel1', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -10644,7 +11986,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "7010f3cd-f168-4be1-b7c3-099e85e697d4"} +{"uuid": "4a537f65-5b31-43bc-bd52-3a61e1033918"} 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 @@ -10652,7 +11994,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "7f3d6297-8849-4c63-b4d3-87fbfe1e979b"} +{"uuid": "c9610dd2-1f07-49a0-be0a-7fa2d70c68d9"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': 'm2.small', 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -10660,7 +12002,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "2ed2386c-5244-4674-9f7b-09cb168b59f3"} +{"uuid": "17221362-f509-4ddd-8491-c491ef22fdfe"} 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 @@ -10668,7 +12010,15 @@ Openstack-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 docker_volume_size", "detail": "Invalid input for field/attribute docker_volume_size. Value: '-1'. Value should be greater or equal to 1", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_docker_volume_size +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute docker_volume_size", "detail": "Invalid input for field/attribute docker_volume_size. 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': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': 'notanint', 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute cluster", "detail": "Invalid input for field/attribute cluster. Value: '{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': 'notanint', '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}'. invalid literal for int() with base 10: 'notanint'", "links": []}]}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_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 @@ -10678,60 +12028,9 @@ 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.common.test_utils.ExecuteTestCase.test_no_retry_on_success +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_no_retry_on_success ... ok -DELETE: /v1/clusters/cluster1 -GOT:Response: 204 No Content -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version - -DELETE: /v1/clusters/not_found -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not_found could not be found", "detail": "Cluster not_found could not be found.", "links": []}]} -DELETE: /v1/clusters/test_cluster -GOT:Response: 409 Conflict -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Multiple clusters exist with same name", "detail": "Multiple clusters exist with same name. Please use the cluster uuid instead.", "links": []}]} -GET: /v1/clusters/?limit=3 {} -GOT:{'clusters': [{'uuid': 'ee0ebfd7-ecf2-4f49-ae0c-4c3d99d6c05d', '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/ee0ebfd7-ecf2-4f49-ae0c-4c3d99d6c05d', 'rel': 'self'}, {'href': 'http://localhost/clusters/ee0ebfd7-ecf2-4f49-ae0c-4c3d99d6c05d', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'e617bdb0-5425-468d-baf0-13e52bd34f2a', '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/e617bdb0-5425-468d-baf0-13e52bd34f2a', 'rel': 'self'}, {'href': 'http://localhost/clusters/e617bdb0-5425-468d-baf0-13e52bd34f2a', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '021781ed-5846-4614-bda7-c3a9f237481c', '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/021781ed-5846-4614-bda7-c3a9f237481c', 'rel': 'self'}, {'href': 'http://localhost/clusters/021781ed-5846-4614-bda7-c3a9f237481c', '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=021781ed-5846-4614-bda7-c3a9f237481c'} -GET: /v1/clusters {} -GOT:{'clusters': [{'uuid': '709782e2-8379-4d48-94b2-dcbed5c92618', '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/709782e2-8379-4d48-94b2-dcbed5c92618', 'rel': 'self'}, {'href': 'http://localhost/clusters/709782e2-8379-4d48-94b2-dcbed5c92618', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '4f4f09f5-cc9b-44f6-ae97-a3506dce84c0', '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/4f4f09f5-cc9b-44f6-ae97-a3506dce84c0', 'rel': 'self'}, {'href': 'http://localhost/clusters/4f4f09f5-cc9b-44f6-ae97-a3506dce84c0', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'd1eadb30-4a27-410a-b6c1-e3408632e4ff', '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/d1eadb30-4a27-410a-b6c1-e3408632e4ff', 'rel': 'self'}, {'href': 'http://localhost/clusters/d1eadb30-4a27-410a-b6c1-e3408632e4ff', '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=d1eadb30-4a27-410a-b6c1-e3408632e4ff'} -GET: /v1/clusters/detail {} -GOT:{'clusters': [{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-16T23:36:51.558805+00:00', 'updated_at': None}]} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/detail {} -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "The %(name)s resource %(id)s could not be found", "detail": "The %(name)s resource %(id)s could not be found.", "links": []}]} -GET: /v1/clusters/detail?limit=3&marker=d7f8b4b6-6742-4b5d-b9d5-14176f486fab {} -GOT:{'clusters': [{'uuid': '793b610c-2a25-497a-960b-cf8f3fa3bc78', '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/793b610c-2a25-497a-960b-cf8f3fa3bc78', 'rel': 'self'}, {'href': 'http://localhost/clusters/793b610c-2a25-497a-960b-cf8f3fa3bc78', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-16T23:36:51.721057+00:00', 'updated_at': None}]}magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail_with_pagination_marker -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail_with_pagination_marker ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_empty -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_empty ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_all_with_all_projects -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_all_with_all_projects ... ok - -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': 'notanint', 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute cluster", "detail": "Invalid input for field/attribute cluster. Value: '{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': 'notanint', '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}'. invalid literal for int() with base 10: 'notanint'", "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': 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 @@ -10780,15 +12079,7 @@ Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute cluster", "detail": "Invalid input for field/attribute cluster. Value: '{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': 'invalid', 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False}'. Value not a valid dict: invalid", "links": []}]} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_name -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_name ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.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.TestPost.test_create_cluster_with_keypair -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_keypair ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one ... ok - +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 @@ -10796,7 +12087,13 @@ 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/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': '123456', '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} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': '123456', '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.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_keypair +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_keypair ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_labels +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_labels ... ok + GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 @@ -10851,89 +12148,53 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "3c7e7c61-a7f9-4288-b062-8559423bbea3"} -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}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_labels -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_labels ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_master_count_zero +{"uuid": "144a8775-7b00-4797-9f55-6d7553ed1525"} +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.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"uuid": "da79462d-c932-41cc-b1c7-138dcf893ca7"} +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.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute master_count", "detail": "Invalid input for field/attribute master_count. Value: '0'. Value should be greater or equal to 1", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_master_count_zero magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_master_count_zero ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.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.TestPost.test_create_cluster_with_master_flavor_id magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_master_flavor_id ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.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.TestPost.test_create_cluster_with_merge_labels magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_merge_labels ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.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.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.TestListCluster.test_get_one_by_uuid -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_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_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.test_utils.ExecuteTestCase.test_retry_on_failure +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_retry_on_failure ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_safe_rstrip +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_safe_rstrip ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_safe_rstrip_not_raises_exceptions +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_safe_rstrip_not_raises_exceptions ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_unknown_kwargs_raises_error +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_unknown_kwargs_raises_error ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_validate_and_normalize_mac +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_validate_and_normalize_mac ... ok -GET: /v1/clusters {} -GOT:{'clusters': []} -GET: /v1/clusters {} -GOT:{'clusters': [{'uuid': '3bf1c716-83db-4126-acaf-6e13a6808a09', '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/3bf1c716-83db-4126-acaf-6e13a6808a09', 'rel': 'self'}, {'href': 'http://localhost/clusters/3bf1c716-83db-4126-acaf-6e13a6808a09', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '36f7d5af-d7d8-4a8c-a356-939813c9f77a', '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/36f7d5af-d7d8-4a8c-a356-939813c9f77a', 'rel': 'self'}, {'href': 'http://localhost/clusters/36f7d5af-d7d8-4a8c-a356-939813c9f77a', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '2dc0a771-aeef-4433-a132-0a94671b559b', '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/2dc0a771-aeef-4433-a132-0a94671b559b', 'rel': 'self'}, {'href': 'http://localhost/clusters/2dc0a771-aeef-4433-a132-0a94671b559b', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '49c73a46-c148-4f41-9113-0c50fdadfa3e', '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/49c73a46-c148-4f41-9113-0c50fdadfa3e', 'rel': 'self'}, {'href': 'http://localhost/clusters/49c73a46-c148-4f41-9113-0c50fdadfa3e', '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=eff6562d-b18b-41f5-9a99-e2f283a57894 {} -GOT:{'clusters': [{'uuid': '6b8355b9-41fc-4f20-b2ed-3ee9e5293ff8', '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/6b8355b9-41fc-4f20-b2ed-3ee9e5293ff8', 'rel': 'self'}, {'href': 'http://localhost/clusters/6b8355b9-41fc-4f20-b2ed-3ee9e5293ff8', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}]} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-16T23:36:51.985205+00:00', 'updated_at': None} -GET: /v1/clusters/cluster1 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-16T23:36:52.042967+00:00', 'updated_at': None} -GET: /v1/clusters/test_cluster {} -GOT:Response: 409 Conflict -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Multiple clusters exist with same name", "detail": "Multiple clusters exist with same name. Please use the cluster uuid instead.", "links": []}]} -GET: /v1/clusters/not_found {} -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not_found could not be found", "detail": "Cluster not_found could not be found.", "links": []}]} -GET: /v1/clusters/bcf4e89d-23dc-4b1d-a41f-33aed181741b {} -GOT:{'uuid': 'bcf4e89d-23dc-4b1d-a41f-33aed181741b', '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/bcf4e89d-23dc-4b1d-a41f-33aed181741b', 'rel': 'self'}, {'href': 'http://localhost/clusters/bcf4e89d-23dc-4b1d-a41f-33aed181741b', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-16T23:36:52.253508+00:00', 'updated_at': None} -GET: /v1/clusters/7c9a8635-59bd-474d-81a9-0ce7736f7dd6 {} -GOT:{'uuid': '7c9a8635-59bd-474d-81a9-0ce7736f7dd6', '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/7c9a8635-59bd-474d-81a9-0ce7736f7dd6', 'rel': 'self'}, {'href': 'http://localhost/clusters/7c9a8635-59bd-474d-81a9-0ce7736f7dd6', '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': '7c9a8635-59bd-474d-81a9-0ce7736f7dd6', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-16T23:36:52.379081+00:00', 'updated_at': None}magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid_admin -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid_admin ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid_not_found -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_failed_cluster -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_failed_cluster ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_merged_labels -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_merged_labels ... ok - -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "c7963c55-f217-4176-bc76-17806d64eaee"} -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.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute 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 @@ -10941,7 +12202,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "ce11309e-4cd6-4c00-b5a7-8344204866ee"} +{"uuid": "0aae5e07-4eaf-4097-ad81-a44b5f2ce465"} 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 @@ -10949,7 +12210,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "422d9eab-80cc-44ec-b380-9db62f0cc765"} +{"uuid": "b7946d11-b757-4bf6-9cdf-1c03b340c036"} 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 @@ -10957,7 +12218,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "83c918a9-6689-4a57-b668-b50f4d18e242"} +{"uuid": "9196e8db-5209-4bde-8b06-1255563e3020"} 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 @@ -10989,7 +12250,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "a73c9f6e-89f2-4133-9388-2f927fe8de0b"} +{"uuid": "ba5c2213-ef85-4c7a-8c0b-f6f138fad24d"} 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 @@ -10997,71 +12258,55 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "d4531ad5-def1-4bb8-9c59-59f005d52cef"} -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}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_cluster.TestPost.test_create_cluster_with_no_timeout +{"uuid": "676639dd-b6fc-4573-b715-7f7d52651699"} +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.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"uuid": "7793fa08-b1ce-433f-9453-a5334156e729"} +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.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"uuid": "0c96ca17-15d0-462e-9423-1033dfb83be2"}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_timeout magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_timeout ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_node_count_negative magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_node_count_negative ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_validate_and_normalize_mac_invalid_format +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_validate_and_normalize_mac_invalid_format ... ok +magnum.tests.unit.common.test_utils.GeneratePasswordTestCase.test_generate_password +magnum.tests.unit.common.test_utils.GeneratePasswordTestCase.test_generate_password ... ok +magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir +magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir ... ok magnum.tests.unit.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.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_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_cluster.TestListCluster.test_links -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_links ... ok +magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked_error_on_rmtree +magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked_error_on_rmtree ... ok +magnum.tests.unit.common.x509.test_operations.TestX509Operations.test_decrypt_key +magnum.tests.unit.common.x509.test_operations.TestX509Operations.test_decrypt_key ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_nonexist_image magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_nonexist_image ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_on_os_distro_image magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_on_os_distro_image ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_timeout_negative magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_timeout_negative ... ok +magnum.tests.unit.common.x509.test_operations.TestX509Operations.test_generate_csr_and_key +magnum.tests.unit.common.x509.test_operations.TestX509Operations.test_generate_csr_and_key ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_timeout_none magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_timeout_none ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_timeout_zero +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_timeout_zero ... ok -GET: /v1/clusters/f20ffcb9-d7e4-49a3-9842-417db6ad0be9 {} -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster f20ffcb9-d7e4-49a3-9842-417db6ad0be9 could not be found", "detail": "Cluster f20ffcb9-d7e4-49a3-9842-417db6ad0be9 could not be found.", "links": []}]} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_FAILED', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'faults': {'test-master': 'fake_reason'}, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-16T23:36:52.475158+00:00', 'updated_at': None} -GET: /v1/clusters/ebe6ac59-00e4-43b2-8b45-34bc0b399b8f {} -GOT:{'uuid': 'ebe6ac59-00e4-43b2-8b45-34bc0b399b8f', 'name': 'cluster1', 'cluster_template_id': '20c6037b-fbd3-4cee-8a97-4db06d1fc06b', '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/ebe6ac59-00e4-43b2-8b45-34bc0b399b8f', 'rel': 'self'}, {'href': 'http://localhost/clusters/ebe6ac59-00e4-43b2-8b45-34bc0b399b8f', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {'label1': 'value1'}, 'labels_added': {'label4': 'value4'}, 'labels_skipped': {'label2': 'value2'}, 'master_lb_enabled': True, 'created_at': '2026-02-16T23:36:52.539771+00:00', 'updated_at': None} -GET: /v1/clusters/5b38ef9c-5511-41c8-9f18-808facd7fe49 {} -GOT:{'uuid': '5b38ef9c-5511-41c8-9f18-808facd7fe49', '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/5b38ef9c-5511-41c8-9f18-808facd7fe49', 'rel': 'self'}, {'href': 'http://localhost/clusters/5b38ef9c-5511-41c8-9f18-808facd7fe49', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-16T23:36:52.599189+00:00', 'updated_at': None} -GET: /v1/clusters/5b38ef9c-5511-41c8-9f18-808facd7fe49 {} -GOT:{'uuid': '5b38ef9c-5511-41c8-9f18-808facd7fe49', '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/5b38ef9c-5511-41c8-9f18-808facd7fe49', 'rel': 'self'}, {'href': 'http://localhost/clusters/5b38ef9c-5511-41c8-9f18-808facd7fe49', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-16T23:36:52.599189+00:00', 'updated_at': None} -GET: /clusters/5b38ef9c-5511-41c8-9f18-808facd7fe49 {} -GOT:{'uuid': '5b38ef9c-5511-41c8-9f18-808facd7fe49', '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/5b38ef9c-5511-41c8-9f18-808facd7fe49', 'rel': 'self'}, {'href': 'http://localhost/clusters/5b38ef9c-5511-41c8-9f18-808facd7fe49', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-16T23:36:52.599189+00:00', 'updated_at': None} -GET: /v1/clusters {} -GOT:{'clusters': [{'uuid': '0ace6750-cf99-4a36-8dfa-b87c8847893d', '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/0ace6750-cf99-4a36-8dfa-b87c8847893d', 'rel': 'self'}, {'href': 'http://localhost/clusters/0ace6750-cf99-4a36-8dfa-b87c8847893d', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'f2e1c32c-3401-4a8e-b44f-0343a7804e2d', '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/f2e1c32c-3401-4a8e-b44f-0343a7804e2d', 'rel': 'self'}, {'href': 'http://localhost/clusters/f2e1c32c-3401-4a8e-b44f-0343a7804e2d', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '94b094b1-9d47-4bdc-a450-877042ed2535', '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/94b094b1-9d47-4bdc-a450-877042ed2535', 'rel': 'self'}, {'href': 'http://localhost/clusters/94b094b1-9d47-4bdc-a450-877042ed2535', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '37fc1f77-771c-4e3d-bc80-81283ba78405', '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/37fc1f77-771c-4e3d-bc80-81283ba78405', 'rel': 'self'}, {'href': 'http://localhost/clusters/37fc1f77-771c-4e3d-bc80-81283ba78405', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'a8f4a9b2-a465-465c-bcfc-7c76120a5fdc', '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/a8f4a9b2-a465-465c-bcfc-7c76120a5fdc', 'rel': 'self'}, {'href': 'http://localhost/clusters/a8f4a9b2-a465-465c-bcfc-7c76120a5fdc', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}]}magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_many -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_many ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_one -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_one ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_add_non_existent_property -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_add_non_existent_property ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_mandatory_property_fail -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_mandatory_property_fail ... ok - -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "339172b2-3797-4c7a-a82c-d6cc4c982281"} -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.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "299b5b63-c983-4559-b555-50d92e4eeeb5"} 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 @@ -11070,14 +12315,14 @@ Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute node_count", "detail": "Invalid input for field/attribute node_count. Value: '-1'. Value should be greater or equal to 0", "links": []}]} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': '7a7844b1-3529-4aa2-9a7c-9f7056c05ed0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': '3dc519fd-1606-4943-aaac-4897a270d0c4', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "ClusterTemplate 7a7844b1-3529-4aa2-9a7c-9f7056c05ed0 could not be found", "detail": "ClusterTemplate 7a7844b1-3529-4aa2-9a7c-9f7056c05ed0 could not be found.", "links": []}]} +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "ClusterTemplate 3dc519fd-1606-4943-aaac-4897a270d0c4 could not be found", "detail": "ClusterTemplate 3dc519fd-1606-4943-aaac-4897a270d0c4 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 @@ -11117,7 +12362,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "1aff6a83-1f5a-4701-8192-1af54bced6de"} +{"uuid": "0731051d-a97b-4890-a4ce-d82d62578d06"} 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 @@ -11125,19 +12370,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "b854247c-5037-4c8e-89b3-af51363687bd"}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_timeout_zero -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_timeout_zero ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.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.TestPost.test_create_cluster_with_valid_name -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_valid_name ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_zero_node_count -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_zero_node_count ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_ok ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_cluster_name_failed -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_cluster_name_failed ... ok - +{"uuid": "6a2a0dfa-3c0d-4a7b-b98a-faf7bf0b9711"} 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 @@ -11145,15 +12378,23 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "f62ff4b3-6ddb-4a3e-8734-583f3d1be134"} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'test-cluster', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +{"uuid": "48b57096-a15b-4c6a-8b63-0a32cea1bb92"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'test-cluster', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_valid_name +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_valid_name ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_zero_node_count +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_zero_node_count ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_zero_node_count_fail +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_zero_node_count_fail ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_docker_volume_size +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_docker_volume_size ... ok + GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "589d8d7a-f9fb-47c3-b3a6-625a43ad8122"} +{"uuid": "0f142e86-ccb0-4481-8819-34c3413bda69"} 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 @@ -11161,7 +12402,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "fcace0c2-e246-4262-8bfc-86df2f2be876"} +{"uuid": "19cf711e-5836-43fd-8ee9-0e40ff767cb1"} 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 @@ -11169,7 +12410,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "3f8219ee-1382-42cb-91f6-9116080f6e76"} +{"uuid": "35e69c36-54a8-4f6f-ae27-9c49b5a5c4b8"} 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 @@ -11177,7 +12418,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "0fdcc07b-6ffb-4299-ae53-9bb57827be62"} +{"uuid": "8bb975b6-6f48-47ec-99ce-2f8566006fba"} 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 @@ -11185,7 +12426,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "612ba685-7226-4b75-a461-5211b58569b5"} +{"uuid": "eb9f2191-bb86-4db0-aa7d-4aea3d471ed7"} 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 @@ -11193,7 +12434,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "f65d0574-2c37-4f23-a0de-a3154712e628"} +{"uuid": "fe4df769-c2f5-4055-9b4c-b949a67b9512"} 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 @@ -11201,7 +12442,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "186a6bd8-e86a-45bb-bc7b-625f3d67ea97"} +{"uuid": "f676ac92-c04e-4a7d-b5e4-0a8ddbe8ed9d"} 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 @@ -11209,7 +12450,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.10 Vary: OpenStack-API-Version -{"uuid": "1777cc94-e10a-4d87-a1dc-80cf2d483d0d"} +{"uuid": "283141ec-c474-4e0b-9a83-fa4fa0ec6e39"} 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 @@ -11217,90 +12458,21 @@ 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": []}]}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_zero_node_count_fail -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_zero_node_count_fail ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_docker_volume_size -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_docker_volume_size ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_cluster_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.TestPost.test_create_cluster_without_flavor_id -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_flavor_id ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_keypair -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_keypair ... ok - -GET: /v1/clusters {} -GOT:{'clusters': [{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Adding a new attribute /foo to the root of the resource is not allowed", "detail": "Adding a new attribute /foo to the root of the resource is not allowed.", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/uuid', 'op': 'remove'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/uuid' is an internal attribute and can not be updated", "detail": "'/uuid' is an internal attribute and can not be updated", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/cluster_template_id', 'op': 'remove'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/cluster_template_id' is a mandatory attribute and can not be removed", "detail": "'/cluster_template_id' is a mandatory attribute and can not be removed", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/non-existent', 'op': 'remove'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Couldn't apply patch '[{'path': '/non-existent', 'op': 'remove'}]'", "detail": "Couldn't apply patch '[{'path': '/non-existent', 'op': 'remove'}]'. Reason: can't remove a non-existent object 'non-existent'", "links": []}]} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'UNKNOWN', 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-16T23:36:53.102443+00:00', 'updated_at': None} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/node_count', 'op': 'remove'}] -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 1, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'UPDATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'UNKNOWN', 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-16T23:36:53.102443+00:00', 'updated_at': '2026-02-16T23:36:53.186138+00:00'} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/name', 'value': 'cluster_example_B', 'op': 'replace'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "cannot change cluster property(ies) name", "detail": "cannot change cluster property(ies) name.", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/cluster_template_id', 'value': '58876c78-e12a-432e-8206-929f6a6f56b8', 'op': 'replace'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "cannot change cluster property(ies) cluster_template_id", "detail": "cannot change cluster property(ies) cluster_template_id.", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/health_status', 'value': 'HEALTHY', 'op': 'replace'}, {'path': '/health_status_reason', 'value': '{"api": "ok"}', 'op': 'replace'}] +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing a nodegroup to zero is not supported in the provided microversion", "detail": "Resizing a nodegroup to zero is not supported in the provided microversion.", "links": []}]} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 6, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'UPDATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'HEALTHY', 'health_status_reason': {'api': 'ok'}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4', '172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-16T23:36:53.379251+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'}magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_health_status_ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_health_status_ok ... ok +{"uuid": "e858c1e3-2f03-44f2-b82d-50b69b9b0734"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_flavor_id +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_flavor_id ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_keypair +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_keypair ... ok +magnum.tests.unit.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_cluster.TestPost.test_create_cluster_without_labels magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_labels ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_master_flavor_id @@ -11309,64 +12481,22 @@ magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_merge_labels ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_name magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_name ... ok -magnum.tests.unit.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_actions.TestClusterUpgrade.test_upgrade -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_non_existent_cluster_template_id -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_non_existent_cluster_template_id ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_cluster_as_admin -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_cluster_as_admin ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_cluster_not_found -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_cluster_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_ct_not_found -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_ct_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_default_master -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_default_master ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok_by_name -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok_by_name ... ok -Exception ignored in: . at 0x7f8a2f1e51c0> -Traceback (most recent call last): - File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 729, in - _finalize_fairy( - File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 1035, in _finalize_fairy - connection_record.checkin() - File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 770, in checkin - pool.dispatch.checkin(connection, self) - File "/usr/lib/python3/dist-packages/sqlalchemy/event/attr.py", line 497, in __call__ - fn(*args, **kw) - File "/usr/lib/python3/dist-packages/oslo_db/sqlalchemy/engines.py", line 52, in _thread_yield - time.sleep(0) - File "/usr/lib/python3/dist-packages/eventlet/greenthread.py", line 35, in sleep - raise RuntimeError('do not call blocking functions from the mainloop') -RuntimeError: do not call blocking functions from the mainloop -magnum.tests.unit.api.controllers.v1.test_cluster.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.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_actions.TestClusterResize.test_resize +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_master_nodegroup +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_master_nodegroup ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_node_count_greater_than_max +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_node_count_greater_than_max ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_node_count_less_than_min +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_node_count_less_than_min ... ok -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "d31458fa-e0cd-46b7-ac96-443dbec870eb"} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "02bca4eb-7a71-4b7d-85ce-90d8abb688d7"} +{"uuid": "69a15dc2-0e8e-4231-bf65-78aabdb74903"} 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 @@ -11374,7 +12504,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "66bd8a2d-b580-453b-b829-b93f094c040e"} +{"uuid": "fdf993b8-9a0c-4501-9898-e60281fe75c3"} 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 @@ -11382,7 +12512,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "44bfaf63-250a-4cf4-a10d-d6fc4866fb9b"} +{"uuid": "28f8eac1-dce8-4b5c-bb72-2c003262f808"} 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 @@ -11390,7 +12520,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "b7f2d34f-980f-4940-985f-3d00b4bca7bb"} +{"uuid": "a351664d-c658-4e73-8305-06b4b8adaca2"} 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 @@ -11398,7 +12528,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "6ea0ed14-22db-42d2-ae64-f728737bd01b"} +{"uuid": "ea4ac9bd-cbbf-4dad-a5b0-98b73d243d0b"} 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 @@ -11406,55 +12536,88 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "18405e86-e890-4fd8-82cc-6c933ca9edef"} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'test_2'} +{"uuid": "851e13b2-0164-4efb-a22e-56609ed68073"} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 6} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.8 +Openstack-Api-Version: container-infra 1.7 Vary: OpenStack-API-Version {"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -POST: /v1/clusters/6fc24755-c433-4691-b65e-e23249f7ea84/actions/upgrade {'cluster_template': 'test_2'} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.8 -Vary: OpenStack-API-Version -{"uuid": "6fc24755-c433-4691-b65e-e23249f7ea84"} -POST: /v1/clusters/not_there/actions/upgrade {'cluster_template': 'test_2'} -GOT:Response: 404 Not Found +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 6, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-14T17:25:03.473785+00:00', 'updated_at': None} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 6, 'nodegroup': 'fc46af8d-aa8f-4e88-90ed-55bb2d1ff8f0'} +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.8 +Openstack-Api-Version: container-infra 1.9 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 +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing a master nodegroup is not supported", "detail": "Resizing a master nodegroup is not supported.", "links": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 6, 'nodegroup': '3c95b26d-c6c0-4577-9a5a-4e7418227f7a'} +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.8 +Openstack-Api-Version: container-infra 1.9 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': '8c243f6c-2097-4280-a1fa-06abdca677db'} -GOT:Response: 202 Accepted +{"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': '9ea8aa8a-3531-497b-a9e6-fca146f9f92f'} +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.9 Vary: OpenStack-API-Version -{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'test_2', 'nodegroup': 'e6ed95e0-48e6-453d-a4b2-7ad6c45d81a8'} +{"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': '9b2ec27c-e5bc-46dd-94fa-45e8f4e31b59'} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.9 Vary: OpenStack-API-Version -{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"}magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_default_worker +{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"}magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_nodegroup +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_nodegroup ... ok +magnum.tests.unit.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_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_actions.TestClusterUpgrade.test_upgrade +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade ... 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_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.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_cluster_actions.TestClusterUpgrade.test_upgrade_cluster_not_found +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_cluster_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_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.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.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 +Exception ignored in: . at 0x7f141b8b6fc0> +Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 729, in + _finalize_fairy( + File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 1035, in _finalize_fairy + connection_record.checkin() + File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 770, in checkin + pool.dispatch.checkin(connection, self) + File "/usr/lib/python3/dist-packages/sqlalchemy/event/attr.py", line 497, in __call__ + fn(*args, **kw) + File "/usr/lib/python3/dist-packages/oslo_db/sqlalchemy/engines.py", line 52, in _thread_yield + time.sleep(0) + File "/usr/lib/python3/dist-packages/eventlet/greenthread.py", line 35, in sleep + raise RuntimeError('do not call blocking functions from the mainloop') +RuntimeError: do not call blocking functions from the mainloop +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_default_worker magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_default_worker ... ok magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_ng_not_found magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_ng_not_found ... ok @@ -11462,143 +12625,79 @@ magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_non_default_ng ... ok magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_non_default_ng_invalid_ct magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_non_default_ng_invalid_ct ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.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.TestPatch.test_update_cluster_as_admin -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_as_admin ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.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.TestPatch.test_update_cluster_with_rollback_disabled -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_rollback_disabled ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.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.TestPatch.test_update_cluster_with_rollback_enabled -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_rollback_enabled ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_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.TestPatch.test_add_root_non_existent +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_add_root_non_existent ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_create_cluster_template_with_no_os_distro_image +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_create_cluster_template_with_no_os_distro_image ... ok +magnum.tests.unit.common.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 -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/node_count', 'value': -1, 'op': 'replace'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute node_count", "detail": "Invalid input for field/attribute node_count. Value: '-1'. Value should be greater or equal to 0", "links": []}]} -PATCH: /v1/clusters/57d00b00-7443-48e7-8163-d6bf3a09032c [{'path': '/name', 'value': 'cluster_example_B', 'op': 'replace'}] -GOT:Response: 404 Not Found +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 6, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-01-14T17:25:03.816124+00:00', 'updated_at': None} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 0, 'nodegroup': 'b2cda39a-7cb0-4ee7-8025-c8cae9d361a0'} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.10 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 57d00b00-7443-48e7-8163-d6bf3a09032c could not be found", "detail": "Cluster 57d00b00-7443-48e7-8163-d6bf3a09032c could not be found.", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/cluster_template_id', 'value': '6da2ae3c-cfb2-4b89-bccf-6f426eba5a5c', 'op': 'replace'}] +{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 0, 'nodegroup': '1608f4b3-9acb-4e17-88d6-f80f7c95ec8d'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.9 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'}] +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing a nodegroup to zero is not supported in the provided microversion", "detail": "Resizing a nodegroup to zero is not supported in the provided microversion.", "links": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'test_2'} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.8 Vary: OpenStack-API-Version {"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 4, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'UPDATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'UNKNOWN', 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-16T23:36:53.863919+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} -PATCH: /v1/clusters/cluster_example_A [{'path': '/node_count', 'value': 4, 'op': 'replace'}] +POST: /v1/clusters/366782df-379a-4e16-a703-9a976d1f9085/actions/upgrade {'cluster_template': 'test_2'} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 4, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'UPDATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'UNKNOWN', 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-16T23:36:53.965048+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} -PATCH: /v1/clusters/test_cluster [{'path': '/name', 'value': 'test_cluster', 'op': 'replace'}] -GOT:Response: 409 Conflict -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.8 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": "366782df-379a-4e16-a703-9a976d1f9085"} +POST: /v1/clusters/not_there/actions/upgrade {'cluster_template': 'test_2'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.8 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/f6ac2540-503a-47ca-b8e4-26470d959513 [{'path': '/cluster_id', 'value': 'f6ac2540-503a-47ca-b8e4-26470d959513', 'op': 'replace'}] +{"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.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster f6ac2540-503a-47ca-b8e4-26470d959513 could not be found", "detail": "Cluster f6ac2540-503a-47ca-b8e4-26470d959513 could not be found.", "links": []}]} -PATCH: /v1/clusters/1e74827c-22b2-466e-b47e-b22a202d4d29 [{'path': '/node_count', 'value': 4, 'op': 'replace'}] -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.8 Vary: OpenStack-API-Version -{"uuid": "1e74827c-22b2-466e-b47e-b22a202d4d29"} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/?rollback=False [{'path': '/node_count', 'value': 4, 'op': 'replace'}] +{"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': 'a120ec33-0c6e-4daa-bc23-9ed25fe4df63'} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.3 +Openstack-Api-Version: container-infra 1.9 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'}] +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'test_2', 'nodegroup': 'd16cbc55-ad8d-42d2-9754-26b60b2ce47f'} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.3 +Openstack-Api-Version: container-infra 1.9 Vary: OpenStack-API-Version {"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/node_count', 'value': 0, 'op': 'replace'}] -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.10 -Vary: OpenStack-API-Version -{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"}magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_zero_node_count -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_zero_node_count ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_zero_node_count_fail -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_zero_node_count_fail ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_master_nodegroup -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_master_nodegroup ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_node_count_greater_than_max -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_node_count_greater_than_max ... ok - 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 @@ -11623,167 +12722,6 @@ Openstack-Api-Version: container-infra 1.9 Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Cluster Template is not valid for upgrade: Nodegroup test_ng can be upgraded only to match cluster's template (test_1)", "detail": "Cluster Template is not valid for upgrade: Nodegroup test_ng can be upgraded only to match cluster's template (test_1).", "links": []}]} -POST: /v1/clustertemplates {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'image_id': 'ubuntu', 'flavor_id': 'm1.small', 'master_flavor_id': 'm1.small', 'keypair_id': 'keypair1', 'external_network_id': 'd1f02cfb-d27f-4068-9332-84d907cb0e2e', 'fixed_network': 'private', 'fixed_subnet': 'private-subnet', 'network_driver': None, 'volume_driver': None, 'dns_nameserver': '8.8.1.1', 'apiserver_port': 8080, 'docker_volume_size': 20, 'docker_storage_driver': 'devicemapper', 'cluster_distro': 'fedora-coreos', 'coe': 'kubernetes', 'labels': {'key1': 'val1', 'key2': 'val2'}, 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'registry_enabled': False, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'hidden': False, 'tags': '', 'driver': ''} -GOT:Response: 403 Forbidden -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:create to be performed", "detail": "Policy doesn't allow clustertemplate:create to be performed.", "links": []}]} -DELETE: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 -GOT:Response: 403 Forbidden -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:delete to be performed", "detail": "Policy doesn't allow clustertemplate:delete to be performed.", "links": []}]} -GET: /v1/clustertemplates/431f42cd-7844-4fc5-8544-4c63478fd6d6/detail {} -GOT:Response: 403 Forbidden -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:detail to be performed", "detail": "Policy doesn't allow clustertemplate:detail to be performed.", "links": []}]} -GET: /v1/clustertemplates {} -GOT:Response: 403 Forbidden -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:get_all to be performed", "detail": "Policy doesn't allow clustertemplate:get_all to be performed.", "links": []}]} -GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:Response: 403 Forbidden -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:get to be performed", "detail": "Policy doesn't allow clustertemplate:get to be performed.", "links": []}]} -PATCH: /v1/clustertemplates/example_A [{'path': '/name', 'value': 'new_name', 'op': 'replace'}] -GOT:Response: 403 Forbidden -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:update to be performed", "detail": "Policy doesn't allow clustertemplate:update to be performed.", "links": []}]} -DELETE: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 -GOT:Response: 403 Forbidden -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:delete to be performed", "detail": "Policy doesn't allow clustertemplate:delete to be performed.", "links": []}]} -GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:Response: 403 Forbidden -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:get to be performed", "detail": "Policy doesn't allow clustertemplate:get to be performed.", "links": []}]} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/name', 'value': 'new_name', 'op': 'replace'}] -GOT:Response: 403 Forbidden -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:update to be performed", "detail": "Policy doesn't allow clustertemplate:update to be performed.", "links": []}]} -DELETE: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 -GOT:Response: 204 No Content -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version - -GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "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/2e7a4eaf-4760-4144-8233-9ab81b7e2cc7magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_as_admin -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_as_admin ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_not_found -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_cluster -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_cluster ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_name -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_name ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_name_not_found -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_name_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_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_actions.TestClusterResize.test_resize_with_node_count_less_than_min -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_node_count_less_than_min ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_add_root_non_existent -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_add_root_non_existent ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_create_cluster_template_with_no_os_distro_image -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_create_cluster_template_with_no_os_distro_image ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_nodegroup -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_nodegroup ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_zero_node_count -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_zero_node_count ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_zero_node_count_fail -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_zero_node_count_fail ... ok -magnum.tests.unit.api.controllers.v1.test_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_federation.TestPatch.test_join_cluster_already_member -magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_join_cluster_already_member ... ok - -GOT:Response: 204 No Content -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version - -DELETE: /v1/clustertemplates/86379359-0eaf-44fe-822c-36a5f692ffee -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "ClusterTemplate 86379359-0eaf-44fe-822c-36a5f692ffee could not be found", "detail": "ClusterTemplate 86379359-0eaf-44fe-822c-36a5f692ffee 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.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "ClusterTemplate e74c40e0-d825-11e2-a28f-0800200c9a66 is referenced by one or multiple clusters", "detail": "ClusterTemplate e74c40e0-d825-11e2-a28f-0800200c9a66 is referenced by one or multiple clusters.", "links": []}]} -DELETE: /v1/clustertemplates/clustermodel1 -GOT:Response: 204 No Content -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version - -DELETE: /v1/clustertemplates/not_found -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "ClusterTemplate not_found could not be found", "detail": "ClusterTemplate not_found could not be found.", "links": []}]} -DELETE: /v1/clustertemplates/test_cluster_template -GOT:Response: 409 Conflict -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.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 @@ -11807,7 +12745,11 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/image_id' is a mandatory attribute and can not be removed", "detail": "'/image_id' is a mandatory attribute and can not be removed", "links": []}]} +{"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": []}]}magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_mandatory_property_fail +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_mandatory_property_fail ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_non_existent_property_fail +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_non_existent_property_fail ... ok + PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/coe', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json @@ -11863,122 +12805,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/cluster_distro' is a mandatory attribute and can not be removed", "detail": "'/cluster_distro' is a mandatory attribute and can not be removed", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_mandatory_property_fail -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_mandatory_property_fail ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_non_existent_property_fail -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_non_existent_property_fail ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_singular -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_singular ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_uuid -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_uuid ... ok -magnum.tests.unit.api.controllers.v1.test_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_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 - -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/node_count', 'value': 0, 'op': 'replace'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing a nodegroup to zero is not supported in the provided microversion", "detail": "Resizing a nodegroup to zero is not supported in the provided microversion.", "links": []}]} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 6} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.7 -Vary: OpenStack-API-Version -{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 6, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-16T23:36:54.587574+00:00', 'updated_at': None} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 6, 'nodegroup': 'd848bfcb-9b2a-445f-ac49-6738b311ae0c'} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing a master nodegroup is not supported", "detail": "Resizing a master nodegroup is not supported.", "links": []}]} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 6, 'nodegroup': 'cbadc56f-35cf-42b2-b9c3-6f0489c2a581'} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing test-worker outside the allowed range: min_node_count = 1, max_node_count = 5", "detail": "Resizing test-worker outside the allowed range: min_node_count = 1, max_node_count = 5", "links": []}]} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 3, 'nodegroup': '1a99dfbf-f162-43f8-ba22-545830037ec9'} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing test-worker outside the allowed range: min_node_count = 4, max_node_count = None", "detail": "Resizing test-worker outside the allowed range: min_node_count = 4, max_node_count = None", "links": []}]} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 6, 'nodegroup': 'cc296ddf-c1da-48d5-807a-abf5df8e0492'} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 -Vary: OpenStack-API-Version -{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 6, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-02-16T23:36:54.795927+00:00', 'updated_at': None} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 0, 'nodegroup': '5a8c566f-a7fa-4600-9ad2-eefabac4b5fe'} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.10 -Vary: OpenStack-API-Version -{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 0, 'nodegroup': 'c1fd1475-532e-4f3b-a2b7-e53c80c2b427'} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing a nodegroup to zero is not supported in the provided microversion", "detail": "Resizing a nodegroup to zero is not supported in the provided microversion.", "links": []}]} -PATCH: /v1/federations/0aa49a8c-73f1-43bd-abeb-dda81e4e1d5c [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'add'}] -GOT:Response: 409 Conflict -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "A cluster with UUID 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 is already a member of the federation federation-example", "detail": "A cluster with UUID 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 is already a member of the federation federation-example.", "links": []}]} -PATCH: /v1/federations/56221777-e835-47ff-a43a-e7e72af9e973 [{'path': '/member_ids', 'value': 'bf8c6261-7f37-411f-8c7e-f66907a93bcf', 'op': 'add'}] -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster bf8c6261-7f37-411f-8c7e-f66907a93bcf could not be found", "detail": "Cluster bf8c6261-7f37-411f-8c7e-f66907a93bcf could not be found.", "links": []}]} -PATCH: /v1/federations/51aa968f-1aa8-48e8-9fac-11ee80dd8641 [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'add'}]magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_member_join -magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_member_join ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_image_id -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_image_id ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_member_unjoin -magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_member_unjoin ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_unjoin_non_existent_cluster -magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_unjoin_non_existent_cluster ... ok -magnum.tests.unit.api.controllers.v1.test_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_federation.TestPatch.test_unjoin_non_member_cluster -magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_unjoin_non_member_cluster ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_as_admin -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_as_admin ... ok - +{"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 @@ -11996,7 +12823,7 @@ Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Couldn't apply patch '[{'path': '/non-existent', 'op': 'remove'}]'", "detail": "Couldn't apply patch '[{'path': '/non-existent', 'op': 'remove'}]'. Reason: can't remove a non-existent object 'non-existent'", "links": []}]} GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2026-02-16T23:36:54.946647+00:00', 'updated_at': None} +GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2025-01-14T17:25:06.085073+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 @@ -12004,9 +12831,42 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": null, "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2026-02-16T23:36:54.946647+00:00", "updated_at": null} +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": null, "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2025-01-14T17:25:06.085073+00:00", "updated_at": null} GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': None, 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2026-02-16T23:36:54.946647+00:00', 'updated_at': '2026-02-16T23:36:54.983626+00:00'} +GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': None, 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2025-01-14T17:25:06.085073+00:00', 'updated_at': '2025-01-14T17:25:06.184632+00:00'}magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_singular +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_singular ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_uuid +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_uuid ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_external_network_id +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_external_network_id ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_flavor_id +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_flavor_id ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_image_id +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_image_id ... ok +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.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.api.controllers.v1.test_cluster_template.TestPatch.test_replace_singular +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_singular ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_as_admin +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_as_admin ... ok +Exception ignored in: . at 0x7f141b55f240> +Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 729, in + _finalize_fairy( + File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 1035, in _finalize_fairy + connection_record.checkin() + File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 770, in checkin + pool.dispatch.checkin(connection, self) + File "/usr/lib/python3/dist-packages/sqlalchemy/event/attr.py", line 497, in __call__ + fn(*args, **kw) + File "/usr/lib/python3/dist-packages/oslo_db/sqlalchemy/engines.py", line 52, in _thread_yield + time.sleep(0) + File "/usr/lib/python3/dist-packages/eventlet/greenthread.py", line 35, in sleep + raise RuntimeError('do not call blocking functions from the mainloop') +RuntimeError: do not call blocking functions from the mainloop + PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json @@ -12054,48 +12914,17 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_B", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2026-02-16T23:36:55.199678+00:00", "updated_at": null}magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_singular -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_singular ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_as_admin -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_as_admin ... ok -magnum.tests.unit.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 -Exception ignored in: . at 0x7fb98730ed40> -Traceback (most recent call last): - File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 729, in - _finalize_fairy( - File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 1035, in _finalize_fairy - connection_record.checkin() - File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 770, in checkin - pool.dispatch.checkin(connection, self) - File "/usr/lib/python3/dist-packages/sqlalchemy/event/attr.py", line 497, in __call__ - fn(*args, **kw) - File "/usr/lib/python3/dist-packages/oslo_db/sqlalchemy/engines.py", line 52, in _thread_yield - time.sleep(0) - File "/usr/lib/python3/dist-packages/eventlet/greenthread.py", line 35, in sleep - raise RuntimeError('do not call blocking functions from the mainloop') -RuntimeError: do not call blocking functions from the mainloop -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_name -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_name ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_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_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 - +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_B", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2025-01-14T17:25:06.699495+00:00", "updated_at": null} GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_B', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2026-02-16T23:36:55.199678+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} -PATCH: /v1/clustertemplates/09b1ecb0-479f-4b74-ab61-3299cb4f60d4 [{'path': '/name', 'value': 'cluster_model_example_B', 'op': 'replace'}] +GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_B', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2025-01-14T17:25:06.699495+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} +PATCH: /v1/clustertemplates/14ff552f-f913-4bc3-a882-eecd528d660a [{'path': '/name', 'value': 'cluster_model_example_B', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "09b1ecb0-479f-4b74-ab61-3299cb4f60d4", "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/09b1ecb0-479f-4b74-ab61-3299cb4f60d4", "rel": "self"}, {"href": "http://localhost/clustertemplates/09b1ecb0-479f-4b74-ab61-3299cb4f60d4", "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": "09b1ecb0-479f-4b74-ab61-3299cb4f60d4", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2026-02-16T23:36:55.261638+00:00", "updated_at": null} +{"uuid": "14ff552f-f913-4bc3-a882-eecd528d660a", "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/14ff552f-f913-4bc3-a882-eecd528d660a", "rel": "self"}, {"href": "http://localhost/clustertemplates/14ff552f-f913-4bc3-a882-eecd528d660a", "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": "14ff552f-f913-4bc3-a882-eecd528d660a", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2025-01-14T17:25:06.779071+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 @@ -12103,9 +12932,19 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": true, "tags": "", "driver": "", "created_at": "2026-02-16T23:36:55.304539+00:00", "updated_at": null} +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": true, "tags": "", "driver": "", "created_at": "2025-01-14T17:25:06.840745+00:00", "updated_at": null}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_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.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 + GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': True, 'tags': '', 'driver': '', 'created_at': '2026-02-16T23:36:55.304539+00:00', 'updated_at': '2026-02-16T23:36:55.340128+00:00'} +GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': True, 'tags': '', 'driver': '', 'created_at': '2025-01-14T17:25:06.840745+00:00', 'updated_at': '2025-01-14T17:25:06.892255+00:00'} PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/name', 'value': 'cluster_model_example_B', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json @@ -12113,7 +12952,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_B", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2026-02-16T23:36:55.376011+00:00", "updated_at": null} +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_B", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2025-01-14T17:25:06.982307+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 @@ -12121,88 +12960,9 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"etcd_volume_size": "1"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2026-02-16T23:36:55.439728+00:00", "updated_at": null}magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_replace_labels_success -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_replace_labels_success ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_with_cluster -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_with_cluster ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_with_cluster_allow_update -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_with_cluster_allow_update ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.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_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 - -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "51aa968f-1aa8-48e8-9fac-11ee80dd8641"} -GET: /v1/federations/51aa968f-1aa8-48e8-9fac-11ee80dd8641 {} -GOT:{'uuid': '51aa968f-1aa8-48e8-9fac-11ee80dd8641', '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/51aa968f-1aa8-48e8-9fac-11ee80dd8641', 'rel': 'self'}, {'href': 'http://localhost/federations/51aa968f-1aa8-48e8-9fac-11ee80dd8641', 'rel': 'bookmark'}], 'created_at': '2026-02-16T23:36:55.050173+00:00', 'updated_at': '2026-02-16T23:36:55.077940+00:00'} -PATCH: /v1/federations/20429b1a-c740-4a72-8ac2-06e6832eab3c [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'remove'}] -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "20429b1a-c740-4a72-8ac2-06e6832eab3c"} -GET: /v1/federations/20429b1a-c740-4a72-8ac2-06e6832eab3c {} -GOT:{'uuid': '20429b1a-c740-4a72-8ac2-06e6832eab3c', '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/20429b1a-c740-4a72-8ac2-06e6832eab3c', 'rel': 'self'}, {'href': 'http://localhost/federations/20429b1a-c740-4a72-8ac2-06e6832eab3c', 'rel': 'bookmark'}], 'created_at': '2026-02-16T23:36:55.115142+00:00', 'updated_at': '2026-02-16T23:36:55.133201+00:00'} -PATCH: /v1/federations/324dd138-c922-41c7-bf5d-bc724c0e953e [{'path': '/member_ids', 'value': '52de71a9-f12a-42a2-9ad3-63bce49b9403', 'op': 'remove'}] -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 52de71a9-f12a-42a2-9ad3-63bce49b9403 could not be found", "detail": "Cluster 52de71a9-f12a-42a2-9ad3-63bce49b9403 could not be found.", "links": []}]} -PATCH: /v1/federations/c0cf8e99-00b5-4741-bd5e-634e672bcefc [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'remove'}] -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 is not a member of the federation federation-example", "detail": "Cluster 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 is not a member of the federation federation-example.", "links": []}]} -GET: /v1/clusters/94c1ea4c-06ff-443c-a288-107d5c2f8765/nodegroups {} -GOT:{'nodegroups': [{'uuid': '18020388-16db-4988-a8b1-191ca6af717f', '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': 'b8de4200-7db3-4c23-baa2-133d4f4647cd', '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/b4834321-a27e-454a-bdfb-e14afd7eaab0/nodegroups {} -GOT:{'nodegroups': [{'uuid': '071fca70-0dd7-42ec-b7d5-c010c3e2a699', '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': '3f739cc5-31a6-4b3e-83fc-9fc7d9e65be8', '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': '11647f7b-e15b-4f3c-9ad2-1ea4d3e429a9', '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': '586f1d8f-c950-4a61-b930-0194238559be', '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': 'db8d6b36-3b94-4c63-8573-11052adc2c03', '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': 'bf4ab281-6730-4c8b-a69b-da0d7547ec28', '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': '12ed618f-1eec-40f5-afcc-4b6d87a65738', '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': '70c94c01-2d65-4d47-9ec1-01f466556cd6', 'name': 'test-worker', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'worker', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}]} -GET: /v1/clusters/not-here/nodegroups {} -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not-here could not be found", "detail": "Cluster not-here could not be found.", "links": []}]} -GET: /v1/clusters/cb13ac6d-194d-4f46-a1ae-90a41ce49446/nodegroups?limit=1 {} -GOT:{'nodegroups': [{'uuid': '23c5f0c8-960b-41bc-a868-116c5458488a', '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/cb13ac6d-194d-4f46-a1ae-90a41ce49446/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=23c5f0c8-960b-41bc-a868-116c5458488a'}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 - +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"etcd_volume_size": "1"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2025-01-14T17:25:07.125645+00:00", "updated_at": null} GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'etcd_volume_size': '1'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2026-02-16T23:36:55.439728+00:00', 'updated_at': '2026-02-16T23:36:55.469854+00:00'} +GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'etcd_volume_size': '1'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2025-01-14T17:25:07.125645+00:00', 'updated_at': '2025-01-14T17:25:07.166406+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 @@ -12218,28 +12978,15 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": true, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2026-02-16T23:36:55.562503+00:00", "updated_at": null} -GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': True, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2026-02-16T23:36:55.562503+00:00', 'updated_at': '2026-02-16T23:36:55.600399+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.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2026-02-16T23:36:55.629602+00:00", "updated_at": null} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/hidden', 'value': True, 'op': 'replace'}] -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/hidden', 'value': True, 'op': 'replace'}] -GOT:Response: 200 OK -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": true, "tags": "", "driver": "", "created_at": "2026-02-16T23:36:55.722969+00:00", "updated_at": null} +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": true, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2025-01-14T17:25:07.413450+00:00", "updated_at": null} GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': True, 'tags': '', 'driver': '', 'created_at': '2026-02-16T23:36:55.722969+00:00', 'updated_at': '2026-02-16T23:36:55.748021+00:00'}magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_hidden_cluster_template_success +GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': True, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2025-01-14T17:25:07.413450+00:00', 'updated_at': '2025-01-14T17:25:07.489820+00:00'}magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_with_cluster_allow_update +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_with_cluster_allow_update ... ok +magnum.tests.unit.api.controllers.v1.test_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_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 @@ -12247,296 +12994,152 @@ 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_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_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_federation.TestDelete.test_delete_federation -magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation_not_found -magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_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_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_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_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_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_federation.TestListFederation.test_detail -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail ... 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_federation.TestListFederation.test_detail_against_single -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail_against_single ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_internal_attr -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_internal_attr ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail_with_pagination_marker -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail_with_pagination_marker ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_empty -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_empty ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_all_with_pagination_marker -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_all_with_pagination_marker ... ok - -GET: /v1/clusters/cb13ac6d-194d-4f46-a1ae-90a41ce49446/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=23c5f0c8-960b-41bc-a868-116c5458488a {} -GOT:{'nodegroups': [{'uuid': '6b463de4-e179-47f3-a6e1-59c2b3c5548a', '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/cb13ac6d-194d-4f46-a1ae-90a41ce49446/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=6b463de4-e179-47f3-a6e1-59c2b3c5548a'} -GET: /v1/clusters/cb13ac6d-194d-4f46-a1ae-90a41ce49446/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=6b463de4-e179-47f3-a6e1-59c2b3c5548a {} -GOT:{'nodegroups': []} -GET: /v1/clusters/a48a2f4e-c799-41b7-8b37-f07e9bffcc94/nodegroups/ {} -GOT:Response: 406 Not Acceptable -Content-Type: application/json -{"errors": [{"request_id": "", "code": "", "status": 406, "title": "", "detail": "", "links": []}]} -GET: /v1/clusters/1ebf4c8a-ed72-4a8a-8d8a-036ae01048a9/nodegroups/7049254c-f9f2-4c40-95f5-a5bbc831a135 {} -GOT:{'id': 1, 'uuid': '7049254c-f9f2-4c40-95f5-a5bbc831a135', 'name': 'test-worker', 'cluster_id': '1ebf4c8a-ed72-4a8a-8d8a-036ae01048a9', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/1ebf4c8a-ed72-4a8a-8d8a-036ae01048a9/nodegroups/7049254c-f9f2-4c40-95f5-a5bbc831a135', 'rel': 'self'}, {'href': 'http://localhost/clusters/1ebf4c8a-ed72-4a8a-8d8a-036ae01048a9/nodegroups/7049254c-f9f2-4c40-95f5-a5bbc831a135', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': 'test_image', 'node_addresses': ['172.17.2.4'], 'node_count': 3, 'role': 'worker', 'min_node_count': 1, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2026-02-16T23:36:55.762589+00:00', 'updated_at': None} -GET: /v1/clusters/ae00c344-9ec1-43d6-b1c4-4e70bdba5dc8/nodegroups/7740a2b2-d5fe-40d5-a2ac-04e56358db8e {} -GOT:{'id': 3, 'uuid': '7740a2b2-d5fe-40d5-a2ac-04e56358db8e', 'name': 'test-worker', 'cluster_id': 'ae00c344-9ec1-43d6-b1c4-4e70bdba5dc8', 'project_id': 'ae00c344-9ec1-43d6-b1c4-4e70bdba5dc8', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/ae00c344-9ec1-43d6-b1c4-4e70bdba5dc8/nodegroups/7740a2b2-d5fe-40d5-a2ac-04e56358db8e', 'rel': 'self'}, {'href': 'http://localhost/clusters/ae00c344-9ec1-43d6-b1c4-4e70bdba5dc8/nodegroups/7740a2b2-d5fe-40d5-a2ac-04e56358db8e', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': 'test_image', 'node_addresses': ['172.17.2.4'], 'node_count': 3, 'role': 'worker', 'min_node_count': 1, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2026-02-16T23:36:55.824889+00:00', 'updated_at': None} -GET: /v1/clusters/6df6c070-b04a-4768-b05e-d349963c01cc/nodegroups/non_default_ng {} -GOT:{'id': 3, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'non_default_ng', 'cluster_id': '6df6c070-b04a-4768-b05e-d349963c01cc', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {'label1': 'value3', 'label2': 'value2', 'label4': 'value4'}, 'links': [{'href': 'http://localhost/v1/clusters/6df6c070-b04a-4768-b05e-d349963c01cc/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/6df6c070-b04a-4768-b05e-d349963c01cc/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 3, 'role': 'worker', 'min_node_count': 1, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {'label1': 'value1'}, 'labels_added': {'label4': 'value4'}, 'labels_skipped': {}, 'created_at': '2026-02-16T23:36:55.893865+00:00', 'updated_at': None} -GET: /v1/clusters/732666a9-565b-4623-86ae-137dde88bd9f/nodegroups/non_default_ng {} -GOT:{'id': 3, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'non_default_ng', 'cluster_id': '732666a9-565b-4623-86ae-137dde88bd9f', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {'label1': 'value3', 'label4': 'value4'}, 'links': [{'href': 'http://localhost/v1/clusters/732666a9-565b-4623-86ae-137dde88bd9f/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/732666a9-565b-4623-86ae-137dde88bd9f/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 3, 'role': 'worker', 'min_node_count': 1, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {'label1': 'value1'}, 'labels_added': {'label4': 'value4'}, 'labels_skipped': {'label2': 'value2'}, 'created_at': '2026-02-16T23:36:55.985061+00:00', 'updated_at': None} -GET: /v1/clusters/ce5d6d05-f314-426c-b71c-7e6150ad573d/nodegroups/not-here {} -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup not-here could not be found", "detail": "Nodegroup not-here could not be found.", "links": []}]} -GET: /v1/clusters/7bbadb9e-d8db-418c-9b55-0da5e7f71ba7/nodegroups/ea9be279-c83b-437d-8a49-b44a16616997 {} -GOT:Response: 406 Not Acceptable -Content-Type: application/json -{"errors": [{"request_id": "", "code": "", "status": 406, "title": "", "detail": "", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/node_count', 'op': 'remove'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/node_count' is an internal attribute and can not be updated", "detail": "'/node_count' is an internal attribute and can not be updated", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/min_node_count', 'op': 'remove'}] -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"id": 12, "uuid": "483203a3-dbee-4a9c-9d65-9820512f4df8", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 2, "role": "worker", "min_node_count": 0, "max_node_count": 5, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2026-02-16T23:36:56.181452+00:00", "updated_at": null}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_min_node_count -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_min_node_count ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_non_existent_property -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_non_existent_property ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_ok ... ok +magnum.tests.unit.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 +Exception ignored in: . at 0x7f141b3d5c60> +Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 729, in + _finalize_fairy( + File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 1035, in _finalize_fairy + connection_record.checkin() + File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 770, in checkin + pool.dispatch.checkin(connection, self) + File "/usr/lib/python3/dist-packages/sqlalchemy/event/attr.py", line 497, in __call__ + fn(*args, **kw) + File "/usr/lib/python3/dist-packages/oslo_db/sqlalchemy/engines.py", line 52, in _thread_yield + time.sleep(0) + File "/usr/lib/python3/dist-packages/eventlet/greenthread.py", line 35, in sleep + raise RuntimeError('do not call blocking functions from the mainloop') +RuntimeError: do not call blocking functions from the mainloop -PATCH: /v1/clustertemplates/175b4b7d-c07b-41fd-a686-d6aebe1b58b8 [{'path': '/name', 'value': 'cluster_model_example_B', 'op': 'add'}] -GOT:Response: 404 Not Found +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.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "ClusterTemplate 175b4b7d-c07b-41fd-a686-d6aebe1b58b8 could not be found", "detail": "ClusterTemplate 175b4b7d-c07b-41fd-a686-d6aebe1b58b8 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'}] +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2025-01-14T17:25:07.561376+00:00", "updated_at": null} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/hidden', 'value': True, 'op': 'replace'}] +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/hidden', 'value': True, 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": true, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2026-02-16T23:36:55.852803+00:00", "updated_at": null} +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": true, "tags": "", "driver": "", "created_at": "2025-01-14T17:25:07.778766+00:00", "updated_at": null} GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': True, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2026-02-16T23:36:55.852803+00:00', 'updated_at': '2026-02-16T23:36:55.877474+00:00'} -DELETE: /v1/federations/e79ba88c-75ec-49a3-b911-1986091924c5 -GOT:Response: 204 No Content -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version - -GET: /v1/federations/e79ba88c-75ec-49a3-b911-1986091924c5 {} +GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': True, 'tags': '', 'driver': '', 'created_at': '2025-01-14T17:25:07.778766+00:00', 'updated_at': '2025-01-14T17:25:07.810954+00:00'} +PATCH: /v1/clustertemplates/a68b8871-1669-42a0-b1d5-1c11cdbe639a [{'path': '/name', 'value': 'cluster_model_example_B', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation e79ba88c-75ec-49a3-b911-1986091924c5 could not be found", "detail": "Federation e79ba88c-75ec-49a3-b911-1986091924c5 could not be found.", "links": []}]} -DELETE: /v1/federations/e1446e5f-39be-4430-be23-6aa80645e444 -GOT:Response: 404 Not Found +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "ClusterTemplate a68b8871-1669-42a0-b1d5-1c11cdbe639a could not be found", "detail": "ClusterTemplate a68b8871-1669-42a0-b1d5-1c11cdbe639a could not be found.", "links": []}]} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/public', 'value': True, 'op': 'replace'}] +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/public', 'value': True, 'op': 'replace'}] +GOT:Response: 200 OK Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation e1446e5f-39be-4430-be23-6aa80645e444 could not be found", "detail": "Federation e1446e5f-39be-4430-be23-6aa80645e444 could not be found.", "links": []}]} -DELETE: /v1/federations/federation-example -GOT:Response: 204 No Content -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": true, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2025-01-14T17:25:07.987324+00:00", "updated_at": null} +GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} +GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': True, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2025-01-14T17:25:07.987324+00:00', 'updated_at': '2025-01-14T17:25:08.027890+00:00'} +PATCH: /v1/federations/28c24065-af10-42d6-a555-162f0ae064be [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'add'}]magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_join_cluster_already_member +magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_join_cluster_already_member ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_join_non_existent_cluster +magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_join_non_existent_cluster ... ok +magnum.tests.unit.common.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.api.controllers.v1.test_federation.TestPatch.test_member_join +magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_member_join ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_member_unjoin +magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_member_unjoin ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_unjoin_non_existent_cluster +magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_unjoin_non_existent_cluster ... ok +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_federation.TestPost.test_create_federation +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation ... 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.api.controllers.v1.test_federation.TestPost.test_create_federation_generate_uuid +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_generate_uuid ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_hostcluster_does_not_exist +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_hostcluster_does_not_exist ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_no_dns_zone_name +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_no_dns_zone_name ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_no_hostcluster_id +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_no_hostcluster_id ... ok +magnum.tests.unit.common.x509.test_sign.TestX509.test_sign_empty_chars +magnum.tests.unit.common.x509.test_sign.TestX509.test_sign_empty_chars ... ok -DELETE: /v1/federations/foo -GOT:Response: 404 Not Found +GOT:Response: 409 Conflict Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation foo could not be found", "detail": "Federation foo could not be found.", "links": []}]} -GET: /v1/federations/detail {} -GOT:{'federations': [{'uuid': '0edba5b6-b75f-4b0e-bec6-f29cd6711dfe', '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/0edba5b6-b75f-4b0e-bec6-f29cd6711dfe', 'rel': 'self'}, {'href': 'http://localhost/federations/0edba5b6-b75f-4b0e-bec6-f29cd6711dfe', 'rel': 'bookmark'}], 'created_at': '2026-02-16T23:36:56.076975+00:00', 'updated_at': None}]} -GET: /v1/federations/7c0ba39b-5374-4391-b6a0-047244ad42dc/detail {} +{"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/1e60b746-43b4-4d02-953b-768fee85b8ab [{'path': '/member_ids', 'value': 'c0051422-ef83-4f3e-bbde-0a833a7b5c44', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "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=e1447996-b4f1-4c8c-98c4-dd148c3212f0 {} -GOT:{'federations': [{'uuid': '2aa5cec9-e07b-40cd-9d90-25322c949b83', '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/2aa5cec9-e07b-40cd-9d90-25322c949b83', 'rel': 'self'}, {'href': 'http://localhost/federations/2aa5cec9-e07b-40cd-9d90-25322c949b83', 'rel': 'bookmark'}], 'created_at': '2026-02-16T23:36:56.147797+00:00', 'updated_at': None}]} -GET: /v1/federations {} -GOT:{'federations': []} -GET: /v1/federations?limit=3&marker=fe5a6b10-cb3d-4672-a040-39f6f729e45d {} -GOT:{'federations': [{'uuid': '5a3fb7c8-8e3c-41c9-8453-f9537693e209', '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/5a3fb7c8-8e3c-41c9-8453-f9537693e209', 'rel': 'self'}, {'href': 'http://localhost/federations/5a3fb7c8-8e3c-41c9-8453-f9537693e209', 'rel': 'bookmark'}]}]} -GET: /v1/federations/c77d1914-aee5-4f28-a27e-2d7d319c260c {} -GOT:{'uuid': 'c77d1914-aee5-4f28-a27e-2d7d319c260c', '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/c77d1914-aee5-4f28-a27e-2d7d319c260c', 'rel': 'self'}, {'href': 'http://localhost/federations/c77d1914-aee5-4f28-a27e-2d7d319c260c', 'rel': 'bookmark'}], 'created_at': '2026-02-16T23:36:56.252637+00:00', 'updated_at': None}magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name_multiple_federation -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name_multiple_federation ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name_not_found -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_uuid -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_uuid ... ok -magnum.tests.unit.api.controllers.v1.test_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_federation.TestListFederation.test_get_one_by_uuid_not_found -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_uuid_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.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_federation.TestListFederation.test_links -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_links ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_node_count_failed -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_node_count_failed ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_many -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_many ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_one -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_one ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation ... ok - -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 {} -GOT:{'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'cluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 2, 'role': 'worker', 'min_node_count': 0, 'max_node_count': 5, 'is_default': False, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2026-02-16T23:36:56.181452+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/not_there', 'op': 'remove'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "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'}] +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster c0051422-ef83-4f3e-bbde-0a833a7b5c44 could not be found", "detail": "Cluster c0051422-ef83-4f3e-bbde-0a833a7b5c44 could not be found.", "links": []}]} +PATCH: /v1/federations/7a5ff490-245e-4506-a9c3-824aaed2e487 [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'add'}] GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"id": 12, "uuid": "483203a3-dbee-4a9c-9d65-9820512f4df8", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 2, "role": "worker", "min_node_count": 2, "max_node_count": null, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2026-02-16T23:36:56.307264+00:00", "updated_at": null} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 {} -GOT:{'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'cluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 2, 'role': 'worker', 'min_node_count': 2, 'max_node_count': None, 'is_default': False, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2026-02-16T23:36:56.307264+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/max_node_count', 'value': 1, 'op': 'replace'}] -GOT:Response: 409 Conflict -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "max_node_count for nodegroup1 is invalid (min_node_count (2) should be less or equal to max_node_count (1))", "detail": "max_node_count for nodegroup1 is invalid (min_node_count (2) should be less or equal to max_node_count (1)).", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/min_node_count', 'value': 3, 'op': 'replace'}] -GOT:Response: 409 Conflict -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "min_node_count for nodegroup1 is invalid (min_node_count (3) should be less or equal to node_count (2))", "detail": "min_node_count for nodegroup1 is invalid (min_node_count (3) should be less or equal to node_count (2)).", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/node_count', 'value': 3, 'op': 'replace'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +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/483203a3-dbee-4a9c-9d65-9820512f4df8 [{'path': '/max_node_count', 'value': 4, 'op': 'replace'}] +{"uuid": "7a5ff490-245e-4506-a9c3-824aaed2e487"} +GET: /v1/federations/7a5ff490-245e-4506-a9c3-824aaed2e487 {} +GOT:{'uuid': '7a5ff490-245e-4506-a9c3-824aaed2e487', '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/7a5ff490-245e-4506-a9c3-824aaed2e487', 'rel': 'self'}, {'href': 'http://localhost/federations/7a5ff490-245e-4506-a9c3-824aaed2e487', 'rel': 'bookmark'}], 'created_at': '2025-01-14T17:25:08.310356+00:00', 'updated_at': '2025-01-14T17:25:08.347488+00:00'} +PATCH: /v1/federations/c1f8f219-c726-4116-bd1d-2a5748c06970 [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'remove'}] GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"id": 12, "uuid": "483203a3-dbee-4a9c-9d65-9820512f4df8", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 2, "role": "worker", "min_node_count": 2, "max_node_count": 4, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2026-02-16T23:36:56.535724+00:00", "updated_at": null} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 {} -GOT:{'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'cluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 2, 'role': 'worker', 'min_node_count': 2, 'max_node_count': 4, 'is_default': False, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2026-02-16T23:36:56.535724+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_ok ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_ok_by_name -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_ok_by_name ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_wrong_microversion -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_wrong_microversion ... ok - -GET: /v1/federations/fake-name {} -GOT:{'uuid': 'b326cf2f-a418-423b-9574-2ab3420f48b4', '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/b326cf2f-a418-423b-9574-2ab3420f48b4', 'rel': 'self'}, {'href': 'http://localhost/federations/b326cf2f-a418-423b-9574-2ab3420f48b4', 'rel': 'bookmark'}], 'created_at': '2026-02-16T23:36:56.285147+00:00', 'updated_at': None} -GET: /v1/federations/test_federation {} -GOT:Response: 409 Conflict -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Multiple federations exist with same name", "detail": "Multiple federations exist with same name. Please use the federation uuid instead.", "links": []}]} -GET: /v1/federations/not_found {} +{"uuid": "c1f8f219-c726-4116-bd1d-2a5748c06970"} +GET: /v1/federations/c1f8f219-c726-4116-bd1d-2a5748c06970 {} +GOT:{'uuid': 'c1f8f219-c726-4116-bd1d-2a5748c06970', '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/c1f8f219-c726-4116-bd1d-2a5748c06970', 'rel': 'self'}, {'href': 'http://localhost/federations/c1f8f219-c726-4116-bd1d-2a5748c06970', 'rel': 'bookmark'}], 'created_at': '2025-01-14T17:25:08.405213+00:00', 'updated_at': '2025-01-14T17:25:08.429297+00:00'} +PATCH: /v1/federations/01329c03-9c56-46b0-b091-cc6c74c7d9ce [{'path': '/member_ids', 'value': 'ccaea793-63ea-4a61-8c66-8584cbba7336', 'op': 'remove'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation not_found could not be found", "detail": "Federation not_found could not be found.", "links": []}]} -GET: /v1/federations/e417bc87-b50e-41d8-9100-a40973734f27 {} -GOT:{'uuid': 'e417bc87-b50e-41d8-9100-a40973734f27', '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/e417bc87-b50e-41d8-9100-a40973734f27', 'rel': 'self'}, {'href': 'http://localhost/federations/e417bc87-b50e-41d8-9100-a40973734f27', 'rel': 'bookmark'}], 'created_at': '2026-02-16T23:36:56.379897+00:00', 'updated_at': None} -GET: /v1/federations/8f1e2824-70a9-4a8d-8e2d-2b8711210a9e {} +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster ccaea793-63ea-4a61-8c66-8584cbba7336 could not be found", "detail": "Cluster ccaea793-63ea-4a61-8c66-8584cbba7336 could not be found.", "links": []}]} +PATCH: /v1/federations/40ee2695-a49e-4de5-bd7c-c814fa01b148 [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'remove'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation 8f1e2824-70a9-4a8d-8e2d-2b8711210a9e could not be found", "detail": "Federation 8f1e2824-70a9-4a8d-8e2d-2b8711210a9e could not be found.", "links": []}]} -GET: /v1/federations/79c1ebb3-c379-4a38-8192-3d116ec327da {} -GOT:{'uuid': '79c1ebb3-c379-4a38-8192-3d116ec327da', '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/79c1ebb3-c379-4a38-8192-3d116ec327da', 'rel': 'self'}, {'href': 'http://localhost/federations/79c1ebb3-c379-4a38-8192-3d116ec327da', 'rel': 'bookmark'}], 'created_at': '2026-02-16T23:36:56.438885+00:00', 'updated_at': None} -GET: /v1/federations/79c1ebb3-c379-4a38-8192-3d116ec327da {} -GOT:{'uuid': '79c1ebb3-c379-4a38-8192-3d116ec327da', '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/79c1ebb3-c379-4a38-8192-3d116ec327da', 'rel': 'self'}, {'href': 'http://localhost/federations/79c1ebb3-c379-4a38-8192-3d116ec327da', 'rel': 'bookmark'}], 'created_at': '2026-02-16T23:36:56.438885+00:00', 'updated_at': None} -GET: /federations/79c1ebb3-c379-4a38-8192-3d116ec327da {} -GOT:{'uuid': '79c1ebb3-c379-4a38-8192-3d116ec327da', '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/79c1ebb3-c379-4a38-8192-3d116ec327da', 'rel': 'self'}, {'href': 'http://localhost/federations/79c1ebb3-c379-4a38-8192-3d116ec327da', 'rel': 'bookmark'}], 'created_at': '2026-02-16T23:36:56.438885+00:00', 'updated_at': None} -GET: /v1/federations {} -GOT:{'federations': [{'uuid': '814b0f56-67b2-4079-bbfb-0c13b49d3a9f', '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/814b0f56-67b2-4079-bbfb-0c13b49d3a9f', 'rel': 'self'}, {'href': 'http://localhost/federations/814b0f56-67b2-4079-bbfb-0c13b49d3a9f', 'rel': 'bookmark'}]}, {'uuid': 'f1642358-f12e-4cd7-9c32-be4f724e6dbf', '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/f1642358-f12e-4cd7-9c32-be4f724e6dbf', 'rel': 'self'}, {'href': 'http://localhost/federations/f1642358-f12e-4cd7-9c32-be4f724e6dbf', 'rel': 'bookmark'}]}, {'uuid': '7d137c6a-1436-4076-81e7-70d8d0007458', '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/7d137c6a-1436-4076-81e7-70d8d0007458', 'rel': 'self'}, {'href': 'http://localhost/federations/7d137c6a-1436-4076-81e7-70d8d0007458', 'rel': 'bookmark'}]}, {'uuid': '9cb12bce-707f-470a-a51b-ee2922b2facd', '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/9cb12bce-707f-470a-a51b-ee2922b2facd', 'rel': 'self'}, {'href': 'http://localhost/federations/9cb12bce-707f-470a-a51b-ee2922b2facd', 'rel': 'bookmark'}]}, {'uuid': 'ce275bab-1767-47ed-9da6-2f966a535cab', '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/ce275bab-1767-47ed-9da6-2f966a535cab', 'rel': 'self'}, {'href': 'http://localhost/federations/ce275bab-1767-47ed-9da6-2f966a535cab', 'rel': 'bookmark'}]}]} -GET: /v1/federations {} -GOT:{'federations': [{'uuid': '1329ce30-14e0-4c21-a1de-3b085f084d6e', '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/1329ce30-14e0-4c21-a1de-3b085f084d6e', 'rel': 'self'}, {'href': 'http://localhost/federations/1329ce30-14e0-4c21-a1de-3b085f084d6e', 'rel': 'bookmark'}]}]} -POST: /v1/federations {'uuid': 'c9e6c5f5-1af8-4ced-b06e-eadb2802f3c4', '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.'} +{"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': '33d57ea9-0edc-45e8-a578-4297b7836d29', 'name': 'fake-name', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "2a23a9cb-199c-49fd-a6d9-1f276a64b4ad"} +{"uuid": "fd11a53e-e471-4677-bda8-83be62ee9ba8"} 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 @@ -12544,58 +13147,16 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "78c523a5-cc8d-4ab2-a755-233925b7e1b8"}magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_generate_uuid -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_generate_uuid ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_hostcluster_does_not_exist -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_hostcluster_does_not_exist ... ok -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_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_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_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_types.TestBooleanType.test_invalid_value -magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_invalid_value ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_valid_false_values -magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_valid_false_values ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_valid_true_values -magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_valid_true_values ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_frombasetype -magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_frombasetype ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_frombasetype_no_value -magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_frombasetype_no_value ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_invalid_name -magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_invalid_name ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_valid_name -magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_valid_name ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestUuidType.test_invalid_uuid -magnum.tests.unit.api.controllers.v1.test_types.TestUuidType.test_invalid_uuid ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestUuidType.test_valid_uuid -magnum.tests.unit.api.controllers.v1.test_types.TestUuidType.test_valid_uuid ... ok -magnum.tests.unit.api.test_app.TestAppConfig.test_get_pecan_config -magnum.tests.unit.api.test_app.TestAppConfig.test_get_pecan_config ... ok -magnum.tests.unit.api.test_expose.TestExpose.test_expose_with_rest_content_types -magnum.tests.unit.api.test_expose.TestExpose.test_expose_with_rest_content_types ... ok -magnum.tests.unit.api.test_expose.TestExpose.test_expose_without_rest_content_types -magnum.tests.unit.api.test_expose.TestExpose.test_expose_without_rest_content_types ... ok -magnum.tests.unit.api.test_hooks.TestContextHook.test_context_hook_before_method -magnum.tests.unit.api.test_hooks.TestContextHook.test_context_hook_before_method ... ok -magnum.tests.unit.api.test_hooks.TestContextHook.test_context_hook_before_method_auth_info -magnum.tests.unit.api.test_hooks.TestContextHook.test_context_hook_before_method_auth_info ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive ... ok - -POST: /v1/federations {'uuid': '2898d0c0-1130-4c34-ae59-0ff3e46088ed', 'name': 'fake-name', 'hostcluster_id': 'e7d73bd9-4c52-486b-ae88-23dbce313455', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} +{"uuid": "c41917ea-3c1d-49ff-995f-e347447b718a"} +POST: /v1/federations {'uuid': '9eb9131c-fd9c-4a60-9248-aae8aedd9a3e', 'name': 'fake-name', 'hostcluster_id': '80c83236-fce0-4c73-b450-2c75227a3d5d', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster e7d73bd9-4c52-486b-ae88-23dbce313455 could not be found", "detail": "Cluster e7d73bd9-4c52-486b-ae88-23dbce313455 could not be found.", "links": []}]} -POST: /v1/federations {'uuid': '9e2c51c4-068b-478b-bfcd-3fbd0bdc878d', 'name': 'fake-name', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 80c83236-fce0-4c73-b450-2c75227a3d5d could not be found", "detail": "Cluster 80c83236-fce0-4c73-b450-2c75227a3d5d could not be found.", "links": []}]} +POST: /v1/federations {'uuid': '9e5b8bf4-e64b-4d5c-9e6d-c57fcf6ed082', 'name': 'fake-name', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 @@ -12603,7 +13164,7 @@ 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': 'a899b3da-5ebd-4f82-97dd-e2da0fb898b1', 'name': 'fake-name', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} +POST: /v1/federations {'uuid': 'bde56c68-76fa-4833-aa44-3555ab5c24e7', 'name': 'fake-name', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 @@ -12611,7 +13172,29 @@ 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': '41dfae68-fc3c-488d-89db-fce19b671b97', '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.'} +POST: /v1/federations {'uuid': '5061acec-7a4f-4ec0-a1e4-68e5476c2016', '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.'}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.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.api.controllers.v1.test_federation.TestPost.test_create_federation_without_name +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_without_name ... ok +magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceController.test_empty +magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceController.test_empty ... ok +magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceController.test_get_many +magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceController.test_get_many ... ok +magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceController.test_get_one +magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceController.test_get_one ... ok +magnum.tests.unit.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 + GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 @@ -12619,7 +13202,7 @@ 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': '6feec5b7-d793-4f16-b958-8b2c5efbc7dd', '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.'} +POST: /v1/federations {'uuid': 'f8d35349-532d-4654-869f-58afbf20fea1', 'name': '123456', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 @@ -12627,7 +13210,7 @@ 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': 'ac0686b9-c5ed-49a9-860d-b1149d51486b', '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.'} +POST: /v1/federations {'uuid': '2d9c8733-56d1-46f2-a7a3-f100f0aeb8b7', 'name': '123456test_federation', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 @@ -12635,7 +13218,7 @@ 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': 'c9713cee-f755-4ee7-b87b-0f0fd14dd9fa', '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.'} +POST: /v1/federations {'uuid': '840c1c5f-0d39-464a-8f99-8c60c0c619e6', 'name': '-test_federation', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 @@ -12643,7 +13226,7 @@ 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': 'b48efc55-6d40-4fdf-bc1a-1aaea1475d33', '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.'} +POST: /v1/federations {'uuid': '0f4e81d6-6bff-4086-bdb1-c2e567e8ef9f', 'name': '.test_federation', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 @@ -12651,7 +13234,7 @@ 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': '8f548b19-cef3-4383-a267-c70aab50cdb8', '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.'} +POST: /v1/federations {'uuid': 'e834cd40-df2a-445d-8a6f-f954f04d5c4f', 'name': '_test_federation', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 @@ -12659,210 +13242,145 @@ 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': '047f4056-39ca-40b7-b2fe-982a2f02064e', '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.'} +POST: /v1/federations {'uuid': 'd9b4b870-5d56-49d1-afe0-da9979576796', 'name': '', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: ''. Value should have a minimum character requirement of 1", "links": []}]}magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_with_invalid_name -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_with_invalid_name ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_without_name -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_without_name ... ok -magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceController.test_empty -magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceController.test_empty ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_all_three -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_all_three ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_created -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_created ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_latest_update -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_latest_update ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_updated -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_updated ... ok -magnum.tests.unit.api.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.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.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.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.controllers.v1.test_magnum_service.TestMagnumServiceEnforcement.test_policy_disallow_get_all +{"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': '8407ceb0-8cf0-4f79-8c60-9c9aecf65460', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"uuid": "ca67aad8-cfad-4d16-b601-17fcca971d85"} +GET: /v1/mservices {} +GOT:{'mservices': []} +GET: /v1/mservices {} +GOT:{'mservices': [{'host': 'fake-host', 'binary': 'magnum-conductor', 'state': 'up', 'id': 1, 'report_count': 13, 'disabled': False, 'disabled_reason': None, 'created_at': '2001-01-01T00:00:00+00:00', 'updated_at': '2001-01-01T00:00:00+00:00'}, {'host': 'fake-host', 'binary': 'magnum-conductor', 'state': 'up', 'id': 2, 'report_count': 13, 'disabled': False, 'disabled_reason': None, 'created_at': '2001-01-01T00:00:00+00:00', 'updated_at': '2001-01-01T00:00:00+00:00'}, {'host': 'fake-host', 'binary': 'magnum-conductor', 'state': 'up', 'id': 3, 'report_count': 13, 'disabled': False, 'disabled_reason': None, 'created_at': '2001-01-01T00:00:00+00:00', 'updated_at': '2001-01-01T00:00:00+00:00'}, {'host': 'fake-host', 'binary': 'magnum-conductor', 'state': 'up', 'id': 4, 'report_count': 13, 'disabled': False, 'disabled_reason': None, 'created_at': '2001-01-01T00:00:00+00:00', 'updated_at': '2001-01-01T00:00:00+00:00'}, {'host': 'fake-host', 'binary': 'magnum-conductor', 'state': 'up', 'id': 5, 'report_count': 13, 'disabled': False, 'disabled_reason': None, 'created_at': '2001-01-01T00:00:00+00:00', 'updated_at': '2001-01-01T00:00:00+00:00'}]} +GET: /v1/mservices {} +GOT:{'mservices': [{'host': 'fake-host', 'binary': 'magnum-conductor', 'state': 'up', 'id': 1, 'report_count': 13, 'disabled': False, 'disabled_reason': None, 'created_at': '2001-01-01T00:00:00+00:00', 'updated_at': '2001-01-01T00:00:00+00:00'}]} +GET: /v1/mservices {} +GOT:Response: 403 Forbidden +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow magnum-service:get_all to be performed", "detail": "Policy doesn't allow magnum-service:get_all to be performed.", "links": []}]}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.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_all_three -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_all_three ... ok magnum.tests.unit.api.controllers.v1.test_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.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_create -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_create ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_old_update -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_old_update ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_update -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_update ... ok magnum.tests.unit.api.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.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 -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_cluster_type_supported ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_all_allowed_create -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_all_allowed_create ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_all_allowed_update -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_all_allowed_update ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_default_config_create -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_default_config_create ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_default_create -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_default_create ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_default_invalid_create -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_default_invalid_create ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_invalid_coe_create -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_invalid_coe_create ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_not_allowed_create -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_not_allowed_create ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_not_allowed_update -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_not_allowed_update ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_one_allowed_create -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_one_allowed_create ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_one_allowed_update -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_one_allowed_update ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_two_allowed_create -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_two_allowed_create ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_two_allowed_update -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_two_allowed_update ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_server_type_invalid -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_server_type_invalid ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_server_type_valid_bm -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_server_type_valid_bm ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_server_type_valid_vm -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_server_type_valid_vm ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_invalid_create -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_invalid_create ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_not_supported_add_update -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_not_supported_add_update ... ok +magnum.tests.unit.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.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.test_validation.TestValidation.test_enforce_volume_driver_types_not_supported_replace_update -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_not_supported_replace_update ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_remove_update -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_remove_update ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_supported_add_update -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_supported_add_update ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_supported_replace_update -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_supported_replace_update ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_valid_create -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_valid_create ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_validate_cluster_properties -magnum.tests.unit.api.test_validation.TestValidation.test_validate_cluster_properties ... ok -magnum.tests.unit.cmd.test_conductor.TestMagnumConductor.test_conductor -magnum.tests.unit.cmd.test_conductor.TestMagnumConductor.test_conductor ... 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.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.cmd.test_conductor.TestMagnumConductor.test_conductor_config_workers -magnum.tests.unit.cmd.test_conductor.TestMagnumConductor.test_conductor_config_workers ... ok -magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_revision -magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_revision ... ok -magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_stamp -magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_stamp ... ok -magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_upgrade -magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_upgrade ... ok magnum.tests.unit.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.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_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.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.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.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.TestLocalCert.test_local_cert -magnum.tests.unit.common.cert_manager.test_local.TestLocalCert.test_local_cert ... ok -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_delete_cert -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_delete_cert ... ok -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_delete_cert_with_fail -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_delete_cert_with_fail ... ok -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_delete_cert_without_intermediate -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.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_resize_success +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_resize_success ... ok +Exception ignored in: . at 0x7fec074565c0> +Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 729, in + _finalize_fairy( + File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 1035, in _finalize_fairy + connection_record.checkin() + File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 770, in checkin + pool.dispatch.checkin(connection, self) + File "/usr/lib/python3/dist-packages/sqlalchemy/event/attr.py", line 497, in __call__ + fn(*args, **kw) + File "/usr/lib/python3/dist-packages/oslo_db/sqlalchemy/engines.py", line 52, in _thread_yield 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.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.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_x509keypair_cert_manager.TestX509keypairCert.test_x509keypair_cert -magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairCert.test_x509keypair_cert ... ok + time.sleep(0) + File "/usr/lib/python3/dist-packages/eventlet/greenthread.py", line 35, in sleep + raise RuntimeError('do not call blocking functions from the mainloop') +RuntimeError: do not call blocking functions from the mainloop magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_wrong_microversion magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_wrong_microversion ... ok -magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_create_no_permission -magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_create_no_permission ... ok -magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_get_no_permission -magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_get_no_permission ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create ... 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.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.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.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.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_nodegroup.TestNodegroupObject.test_nodegroup_init +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestNodegroupObject.test_nodegroup_init ... 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.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.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.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.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 -POST: /v1/federations {'uuid': 'e4e2c00c-119f-4cde-956c-821118c3c32e', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "b009af9c-3be9-440a-913c-15bf8c20524e"} -GET: /v1/mservices {} -GOT:{'mservices': []} -GET: /v1/mservices {} -GOT:{'mservices': [{'host': 'fake-host', 'binary': 'magnum-conductor', 'state': 'up', 'id': 1, 'report_count': 13, 'disabled': False, 'disabled_reason': None, 'created_at': '2001-01-01T00:00:00+00:00', 'updated_at': '2001-01-01T00:00:00+00:00'}, {'host': 'fake-host', 'binary': 'magnum-conductor', 'state': 'up', 'id': 2, 'report_count': 13, 'disabled': False, 'disabled_reason': None, 'created_at': '2001-01-01T00:00:00+00:00', 'updated_at': '2001-01-01T00:00:00+00:00'}, {'host': 'fake-host', 'binary': 'magnum-conductor', 'state': 'up', 'id': 3, 'report_count': 13, 'disabled': False, 'disabled_reason': None, 'created_at': '2001-01-01T00:00:00+00:00', 'updated_at': '2001-01-01T00:00:00+00:00'}, {'host': 'fake-host', 'binary': 'magnum-conductor', 'state': 'up', 'id': 4, 'report_count': 13, 'disabled': False, 'disabled_reason': None, 'created_at': '2001-01-01T00:00:00+00:00', 'updated_at': '2001-01-01T00:00:00+00:00'}, {'host': 'fake-host', 'binary': 'magnum-conductor', 'state': 'up', 'id': 5, 'report_count': 13, 'disabled': False, 'disabled_reason': None, 'created_at': '2001-01-01T00:00:00+00:00', 'updated_at': '2001-01-01T00:00:00+00:00'}]} -GET: /v1/mservices {} -GOT:{'mservices': [{'host': 'fake-host', 'binary': 'magnum-conductor', 'state': 'up', 'id': 1, 'report_count': 13, 'disabled': False, 'disabled_reason': None, 'created_at': '2001-01-01T00:00:00+00:00', 'updated_at': '2001-01-01T00:00:00+00:00'}]} -GET: /v1/mservices {} -GOT:Response: 403 Forbidden -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow magnum-service:get_all to be performed", "detail": "Policy doesn't allow magnum-service:get_all to be performed.", "links": []}]} DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/not-there GOT:Response: 404 Not Found Content-Type: application/json @@ -12871,7 +13389,7 @@ Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup not-there could not be found", "detail": "Nodegroup not-there could not be found.", "links": []}]} -DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/e5e2543e-deac-4b87-9fe0-bf8dfd88982a +DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/3eb2760f-dfb4-49e9-a6d5-5cb747aa9a8d GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 @@ -12894,7 +13412,7 @@ Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup 483203a3-dbee-4a9c-9d65-9820512f4df8 could not be found", "detail": "Nodegroup 483203a3-dbee-4a9c-9d65-9820512f4df8 could not be found.", "links": []}]} -DELETE: /v1/clusters/db1f95cf-c18d-4a3b-a3c8-a7e360ec552a/nodegroups/1ef97c82-f64c-47fe-843a-6519bc60c7e3 +DELETE: /v1/clusters/8e0cc665-a63b-49fe-a8f6-3e37ba4d730a/nodegroups/1a7d4791-55a1-499c-99eb-eaf716c83ed3 GOT:Response: 204 No Content Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 @@ -12916,19 +13434,19 @@ Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup nodegroup1 could not be found", "detail": "Nodegroup nodegroup1 could not be found.", "links": []}]} -DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/d463a80a-ba5a-4047-97a4-78e0d2cd81f5 +DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/13af4e23-6c7d-40ec-9586-98703174d557 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup d463a80a-ba5a-4047-97a4-78e0d2cd81f5 could not be found", "detail": "Nodegroup d463a80a-ba5a-4047-97a4-78e0d2cd81f5 could not be found.", "links": []}]} +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup 13af4e23-6c7d-40ec-9586-98703174d557 could not be found", "detail": "Nodegroup 13af4e23-6c7d-40ec-9586-98703174d557 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/6cf508a9-afe9-4085-98f1-0fa14e237ebc/nodegroups {} +GET: /v1/clusters/ba3f090d-ec16-4bcd-b1cb-c9e873a7247f/nodegroups {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 @@ -12936,7 +13454,7 @@ Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow nodegroup:get_all to be performed", "detail": "Policy doesn't allow nodegroup:get_all to be performed.", "links": []}]} -GET: /v1/clusters/6445a8cc-4c67-46ad-8685-24a45b4b880e/nodegroups/7574b819-002f-4cf6-97cb-7dd90dd0b065 {} +GET: /v1/clusters/edeaa71a-a62c-4e93-ba67-86bc0af0d792/nodegroups/929ea25e-721c-49d4-9b94-41837f144ed9 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 @@ -12944,46 +13462,279 @@ Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow nodegroup:get to be performed", "detail": "Policy doesn't allow nodegroup:get to be performed.", "links": []}]} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'master', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/node_count', 'op': 'remove'}] +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/node_count' is an internal attribute and can not be updated", "detail": "'/node_count' is an internal attribute and can not be updated", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/min_node_count', 'op': 'remove'}] +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"id": 12, "uuid": "483203a3-dbee-4a9c-9d65-9820512f4df8", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 2, "role": "worker", "min_node_count": 0, "max_node_count": 5, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2025-01-14T17:25:10.650499+00:00", "updated_at": null} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 {} +GOT:{'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'cluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 2, 'role': 'worker', 'min_node_count': 0, 'max_node_count': 5, 'is_default': False, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2025-01-14T17:25:10.650499+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/not_there', 'op': 'remove'}] +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "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": []}]}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_non_existent_property +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_non_existent_property ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_ok ... ok +magnum.tests.unit.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.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.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_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.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.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.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.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.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.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_docker_storage_driver +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_docker_storage_driver ... ok +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_server_image +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_server_image ... ok +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_update_stack +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_update_stack ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create_failed +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create_failed ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create_failed_bad_request +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create_failed_bad_request ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_failed +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_failed ... ok + +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/max_node_count', 'op': 'remove'}] +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"id": 12, "uuid": "483203a3-dbee-4a9c-9d65-9820512f4df8", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 2, "role": "worker", "min_node_count": 2, "max_node_count": null, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2025-01-14T17:25:11.057117+00:00", "updated_at": null} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 {} +GOT:{'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'cluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 2, 'role': 'worker', 'min_node_count': 2, 'max_node_count': None, 'is_default': False, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2025-01-14T17:25:11.057117+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/max_node_count', 'value': 1, 'op': 'replace'}] +GOT:Response: 409 Conflict +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "max_node_count for nodegroup1 is invalid (min_node_count (2) should be less or equal to max_node_count (1))", "detail": "max_node_count for nodegroup1 is invalid (min_node_count (2) should be less or equal to max_node_count (1)).", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/min_node_count', 'value': 3, 'op': 'replace'}] +GOT:Response: 409 Conflict +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "min_node_count for nodegroup1 is invalid (min_node_count (3) should be less or equal to node_count (2))", "detail": "min_node_count for nodegroup1 is invalid (min_node_count (3) should be less or equal to node_count (2)).", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/node_count', 'value': 3, 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Creating master nodegroups is currently not supported", "detail": "Creating master nodegroups is currently not supported.", "links": []}]}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_master_ng +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/node_count' is an internal attribute and can not be updated", "detail": "'/node_count' is an internal attribute and can not be updated", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 [{'path': '/max_node_count', 'value': 4, 'op': 'replace'}] +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"id": 12, "uuid": "483203a3-dbee-4a9c-9d65-9820512f4df8", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 2, "role": "worker", "min_node_count": 2, "max_node_count": 4, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2025-01-14T17:25:11.800801+00:00", "updated_at": null} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 {} +GOT:{'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'cluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 2, 'role': 'worker', 'min_node_count': 2, 'max_node_count': 4, 'is_default': False, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2025-01-14T17:25:11.800801+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/max_node_count', 'value': 4, 'op': 'replace'}] +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"id": 12, "uuid": "483203a3-dbee-4a9c-9d65-9820512f4df8", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 2, "role": "worker", "min_node_count": 2, "max_node_count": 4, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2025-01-14T17:25:12.031166+00:00", "updated_at": null}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_ok_by_name +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_ok_by_name ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_wrong_microversion +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_wrong_microversion ... ok +magnum.tests.unit.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.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.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.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.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.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.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.conductor.tasks.test_heat_tasks.HeatTasksTests.test_delete_stack_with_error +magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_delete_stack_with_error ... ok +magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_update_stack +magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_update_stack ... ok +magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_update_stack_with_error +magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_update_stack_with_error ... ok +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_is_magnum_auto_healer_running +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_is_magnum_auto_healer_running ... ok +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_compute_cpu_util +magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_compute_cpu_util ... ok magnum.tests.unit.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.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 +Exception ignored in: . at 0x7f141b3d4180> +Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 729, in +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 + _finalize_fairy( + File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 1035, in _finalize_fairy + connection_record.checkin() + File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 770, in checkin + pool.dispatch.checkin(connection, self) + File "/usr/lib/python3/dist-packages/sqlalchemy/event/attr.py", line 497, in __call__ + fn(*args, **kw) + File "/usr/lib/python3/dist-packages/oslo_db/sqlalchemy/engines.py", line 52, in _thread_yield + time.sleep(0) + File "/usr/lib/python3/dist-packages/eventlet/greenthread.py", line 35, in sleep + raise RuntimeError('do not call blocking functions from the mainloop') +RuntimeError: do not call blocking functions from the mainloop +Exception ignored in: . at 0x7f141b8b6e80> +Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 729, in + _finalize_fairy( + File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 1035, in _finalize_fairy + connection_record.checkin() + File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 770, in checkin + pool.dispatch.checkin(connection, self) + File "/usr/lib/python3/dist-packages/sqlalchemy/event/attr.py", line 497, in __call__ + fn(*args, **kw) + File "/usr/lib/python3/dist-packages/oslo_db/sqlalchemy/engines.py", line 52, in _thread_yield + time.sleep(0) + File "/usr/lib/python3/dist-packages/eventlet/greenthread.py", line 35, in sleep + raise RuntimeError('do not call blocking functions from the mainloop') +RuntimeError: do not call blocking functions from the mainloop +magnum.tests.unit.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.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.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.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_with_merge_labels -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_with_merge_labels ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_with_merge_labels_no_labels -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_with_merge_labels_no_labels ... ok -magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_update_no_permission -magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_update_no_permission ... ok -magnum.tests.unit.api.controllers.v1.test_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.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_create_no_permission -magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_create_no_permission ... ok -magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_delete_no_permission -magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_delete_no_permission ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup ... 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.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 +Exception ignored in: . at 0x7f141b8b7420> +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 ... Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 729, in +ok + _finalize_fairy( + File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 1035, in _finalize_fairy + connection_record.checkin() + File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 770, in checkin + pool.dispatch.checkin(connection, self) + File "/usr/lib/python3/dist-packages/sqlalchemy/event/attr.py", line 497, in __call__ + fn(*args, **kw) + File "/usr/lib/python3/dist-packages/oslo_db/sqlalchemy/engines.py", line 52, in _thread_yield + time.sleep(0) + File "/usr/lib/python3/dist-packages/eventlet/greenthread.py", line 35, in sleep + raise RuntimeError('do not call blocking functions from the mainloop') +RuntimeError: do not call blocking functions from the mainloop +magnum.tests.unit.conductor.test_scale_manager.TestK8sScaleManager.test_get_hosts_with_container +magnum.tests.unit.conductor.test_scale_manager.TestK8sScaleManager.test_get_hosts_with_container ... ok +magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_no_container_host +magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_no_container_host ... ok +magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_one_container_host +magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_one_container_host ... ok +magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_scale_up +magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_scale_up ... ok +magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_three_container_hosts +magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_three_container_hosts ... ok +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 {} +GOT:{'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'cluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 2, 'role': 'worker', 'min_node_count': 2, 'max_node_count': 4, 'is_default': False, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2025-01-14T17:25:12.031166+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/77de8f62-3760-43f4-83ba-3a39bf3d6a19/nodegroups/93ca0b23-3af8-4434-8e17-10065facf5c2 [{'path': '/max_node_count', 'value': 4, 'op': 'replace'}] +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"id": 50, "uuid": "93ca0b23-3af8-4434-8e17-10065facf5c2", "name": "nodegroup1", "cluster_id": "77de8f62-3760-43f4-83ba-3a39bf3d6a19", "project_id": "fake", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/77de8f62-3760-43f4-83ba-3a39bf3d6a19/nodegroups/93ca0b23-3af8-4434-8e17-10065facf5c2", "rel": "self"}, {"href": "http://localhost/clusters/77de8f62-3760-43f4-83ba-3a39bf3d6a19/nodegroups/93ca0b23-3af8-4434-8e17-10065facf5c2", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": 4, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2025-01-14T17:25:12.460215+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': 'master', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Creating master nodegroups is currently not supported", "detail": "Creating master nodegroups is currently not supported.", "links": []}]} POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} GOT:Response: 409 Conflict Content-Type: application/json @@ -13007,7 +13758,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"id": 12, "uuid": "584fa772-7104-4091-afe4-bb7cde02d0e6", "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/584fa772-7104-4091-afe4-bb7cde02d0e6", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/584fa772-7104-4091-afe4-bb7cde02d0e6", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {"label3": "value3"}, "labels_skipped": {"label1": "value1", "label2": "value2"}, "created_at": "2026-02-16T23:36:57.934786+00:00", "updated_at": null} +{"id": 12, "uuid": "da12b4b5-7558-4328-8ce5-59b16a5bda3f", "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/da12b4b5-7558-4328-8ce5-59b16a5bda3f", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/da12b4b5-7558-4328-8ce5-59b16a5bda3f", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {"label3": "value3"}, "labels_skipped": {"label1": "value1", "label2": "value2"}, "created_at": "2025-01-14T17:25:13.242770+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 @@ -13015,7 +13766,91 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"id": 12, "uuid": "7ed5fdf4-746d-4fb7-a4a1-000d6c5af346", "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/7ed5fdf4-746d-4fb7-a4a1-000d6c5af346", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/7ed5fdf4-746d-4fb7-a4a1-000d6c5af346", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {"label1": "value1"}, "labels_added": {"label4": "value4"}, "labels_skipped": {}, "created_at": "2026-02-16T23:36:57.995919+00:00", "updated_at": null} +{"id": 12, "uuid": "310e1a64-44e7-4b7f-870a-1c271ca2f4c5", "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/310e1a64-44e7-4b7f-870a-1c271ca2f4c5", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/310e1a64-44e7-4b7f-870a-1c271ca2f4c5", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {"label1": "value1"}, "labels_added": {"label4": "value4"}, "labels_skipped": {}, "created_at": "2025-01-14T17:25:13.451447+00:00", "updated_at": null}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.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_two_container_hosts +magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_two_container_hosts ... ok +magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_with_none_hosts +magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_with_none_hosts ... ok +magnum.tests.unit.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.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.conf.test_conf.ConfTestCase.test_list_opts +magnum.tests.unit.conf.test_conf.ConfTestCase.test_list_opts ... ok +magnum.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_default_value +magnum.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_default_value ... ok +magnum.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_type_check +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_cluster.DbClusterTestCase.test_create_cluster +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_create_cluster ... 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.db.test_cluster.DbClusterTestCase.test_create_cluster_already_exists +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_create_cluster_already_exists ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_create_cluster_nullable_cluster_template_id +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_create_cluster_nullable_cluster_template_id ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_destroy_cluster +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_destroy_cluster ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_destroy_cluster_by_id_that_does_not_exist +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_destroy_cluster_by_id_that_does_not_exist ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_destroy_cluster_by_uuid +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_destroy_cluster_by_uuid ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_destroy_cluster_by_uuid_that_does_not_exist +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_destroy_cluster_by_uuid_that_does_not_exist ... ok +magnum.tests.unit.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.db.test_cluster.DbClusterTestCase.test_get_all_cluster_stats +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_all_cluster_stats ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_by_id +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_by_id ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_by_name +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_by_name ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_by_name_multiple_cluster +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_by_name_multiple_cluster ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_by_uuid +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_by_uuid ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list ... ok +magnum.tests.unit.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.db.test_cluster.DbClusterTestCase.test_get_cluster_list_by_admin_all_tenants +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list_by_admin_all_tenants ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list_cluster_template_not_exist +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list_cluster_template_not_exist ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list_sorted +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list_sorted ... ok +magnum.tests.unit.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.db.test_cluster.DbClusterTestCase.test_get_cluster_list_with_filters +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list_with_filters ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_that_does_not_exist +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_that_does_not_exist ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_one_tenant_cluster_stats +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_one_tenant_cluster_stats ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_update_cluster +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_update_cluster ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_update_cluster_not_found +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_update_cluster_not_found ... ok +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_update_cluster_uuid +magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_update_cluster_uuid ... ok +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_create_nodegroup +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_create_nodegroup ... ok + 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 @@ -13023,7 +13858,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"id": 12, "uuid": "cb665333-30f4-4910-9637-881b25928fc7", "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/cb665333-30f4-4910-9637-881b25928fc7", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/cb665333-30f4-4910-9637-881b25928fc7", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2026-02-16T23:36:58.055929+00:00", "updated_at": null} +{"id": 12, "uuid": "69b6dc23-b512-4be0-b07a-d98214f68b77", "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/69b6dc23-b512-4be0-b07a-d98214f68b77", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/69b6dc23-b512-4be0-b07a-d98214f68b77", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2025-01-14T17:25:13.653088+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 @@ -13035,68 +13870,8 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"id": 12, "uuid": "371e2553-d917-437f-a84f-4b70529794cb", "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/371e2553-d917-437f-a84f-4b70529794cb", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/371e2553-d917-437f-a84f-4b70529794cb", "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}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.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_update_no_permission -magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_update_no_permission ... ok -magnum.tests.unit.api.controllers.v1.test_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.common.policies.test_quota_policy.TestQuotaPolicy.test_create_no_permission -magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_create_no_permission ... ok -magnum.tests.unit.api.controllers.v1.test_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.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.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.common.policies.test_quota_policy.TestQuotaPolicy.test_get_no_permission -magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_get_no_permission ... ok -magnum.tests.unit.api.controllers.v1.test_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.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_clients.ClientsTest.test_clients_barbican -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_cached -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_cached ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_noauth -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_noauth ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_region -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_region ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_cached -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_cached ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_noauth -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_noauth ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_region -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_region ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_cached -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_cached ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_noauth -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_noauth ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_region -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_region ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_cached -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_cached ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_noauth -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_noauth ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_region -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_region ... ok - +{"id": 12, "uuid": "61cfde75-f657-4058-bdab-d701adfa76f1", "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/61cfde75-f657-4058-bdab-d701adfa76f1", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/61cfde75-f657-4058-bdab-d701adfa76f1", "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.11 @@ -13119,7 +13894,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"id": 3, "uuid": "95b55393-6f0f-4094-a5f1-5d7eeeaf237c", "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/95b55393-6f0f-4094-a5f1-5d7eeeaf237c", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/95b55393-6f0f-4094-a5f1-5d7eeeaf237c", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 1, "role": "worker", "min_node_count": 0, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} +{"id": 3, "uuid": "a240d946-e9ba-45f3-b91a-ad9577531e5c", "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/a240d946-e9ba-45f3-b91a-ad9577531e5c", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/a240d946-e9ba-45f3-b91a-ad9577531e5c", "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 @@ -13127,15 +13902,147 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"id": 12, "uuid": "0346df23-1657-43c1-bd36-fd66b5738dcc", "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/0346df23-1657-43c1-bd36-fd66b5738dcc", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/0346df23-1657-43c1-bd36-fd66b5738dcc", "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} +{"id": 12, "uuid": "81c9d9dd-5247-4800-b137-399c27960594", "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/81c9d9dd-5247-4800-b137-399c27960594", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/81c9d9dd-5247-4800-b137-399c27960594", "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}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.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.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.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.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.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.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.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.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.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.TestClusterStatus.test_coerce_bad_values +magnum.tests.unit.objects.test_fields.TestClusterStatus.test_coerce_bad_values ... ok +magnum.tests.unit.objects.test_fields.TestClusterStatus.test_coerce_good_values +magnum.tests.unit.objects.test_fields.TestClusterStatus.test_coerce_good_values ... ok +magnum.tests.unit.objects.test_fields.TestClusterStatus.test_from_primitive +magnum.tests.unit.objects.test_fields.TestClusterStatus.test_from_primitive ... ok +magnum.tests.unit.objects.test_fields.TestClusterStatus.test_stringify +magnum.tests.unit.objects.test_fields.TestClusterStatus.test_stringify ... ok +magnum.tests.unit.objects.test_fields.TestClusterStatus.test_stringify_invalid +magnum.tests.unit.objects.test_fields.TestClusterStatus.test_stringify_invalid ... ok +magnum.tests.unit.objects.test_fields.TestClusterStatus.test_to_primitive +magnum.tests.unit.objects.test_fields.TestClusterStatus.test_to_primitive ... ok +magnum.tests.unit.objects.test_fields.TestClusterType.test_coerce_bad_values +magnum.tests.unit.objects.test_fields.TestClusterType.test_coerce_bad_values ... ok +magnum.tests.unit.objects.test_fields.TestClusterType.test_coerce_good_values +magnum.tests.unit.objects.test_fields.TestClusterType.test_coerce_good_values ... ok +magnum.tests.unit.objects.test_fields.TestClusterType.test_from_primitive +magnum.tests.unit.objects.test_fields.TestClusterType.test_from_primitive ... ok +magnum.tests.unit.objects.test_fields.TestClusterType.test_stringify +magnum.tests.unit.objects.test_fields.TestClusterType.test_stringify ... ok +magnum.tests.unit.objects.test_fields.TestClusterType.test_stringify_invalid +magnum.tests.unit.objects.test_fields.TestClusterType.test_stringify_invalid ... ok +magnum.tests.unit.objects.test_fields.TestClusterType.test_to_primitive +magnum.tests.unit.objects.test_fields.TestClusterType.test_to_primitive ... ok +magnum.tests.unit.objects.test_fields.TestContainerStatus.test_coerce_bad_values +magnum.tests.unit.objects.test_fields.TestContainerStatus.test_coerce_bad_values ... ok +magnum.tests.unit.objects.test_fields.TestContainerStatus.test_coerce_good_values +magnum.tests.unit.objects.test_fields.TestContainerStatus.test_coerce_good_values ... ok +magnum.tests.unit.objects.test_fields.TestContainerStatus.test_from_primitive +magnum.tests.unit.objects.test_fields.TestContainerStatus.test_from_primitive ... ok +magnum.tests.unit.objects.test_fields.TestContainerStatus.test_stringify +magnum.tests.unit.objects.test_fields.TestContainerStatus.test_stringify ... ok +magnum.tests.unit.objects.test_fields.TestContainerStatus.test_stringify_invalid +magnum.tests.unit.objects.test_fields.TestContainerStatus.test_stringify_invalid ... ok +magnum.tests.unit.objects.test_fields.TestContainerStatus.test_to_primitive +magnum.tests.unit.objects.test_fields.TestContainerStatus.test_to_primitive ... ok +magnum.tests.unit.objects.test_fields.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 +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.objects.test_magnum_service.TestMagnumServiceObject.test_destroy +magnum.tests.unit.objects.test_magnum_service.TestMagnumServiceObject.test_destroy ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.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 + GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"id": 12, "uuid": "77d9321e-e585-4982-a528-d2b8099e24b8", "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/77d9321e-e585-4982-a528-d2b8099e24b8", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/77d9321e-e585-4982-a528-d2b8099e24b8", "rel": "bookmark"}], "flavor_id": null, "image_id": "test_image", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} +{"id": 12, "uuid": "c03a7802-f399-492c-b8da-c280981279fc", "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/c03a7802-f399-492c-b8da-c280981279fc", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/c03a7802-f399-492c-b8da-c280981279fc", "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 @@ -13143,7 +14050,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"id": 12, "uuid": "53708785-c75f-411b-a811-a2c6119e07b0", "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/53708785-c75f-411b-a811-a2c6119e07b0", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/53708785-c75f-411b-a811-a2c6119e07b0", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {"label1": "value1"}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} +{"id": 12, "uuid": "24b6610a-1711-4bb8-80b2-ee13528cc58e", "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/24b6610a-1711-4bb8-80b2-ee13528cc58e", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/24b6610a-1711-4bb8-80b2-ee13528cc58e", "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 @@ -13151,67 +14058,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"id": 12, "uuid": "7d77f479-3d2d-4f23-bcd2-c5d4cbb75471", "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/7d77f479-3d2d-4f23-bcd2-c5d4cbb75471", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/7d77f479-3d2d-4f23-bcd2-c5d4cbb75471", "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.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_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.common.test_clients.ClientsTest.test_clients_nova_cached -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_cached ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_noauth -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_noauth ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_region -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_region ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_magnum_url -magnum.tests.unit.common.test_clients.ClientsTest.test_magnum_url ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_url_for -magnum.tests.unit.common.test_clients.ClientsTest.test_url_for ... ok -magnum.tests.unit.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.common.test_context.ContextTestCase.test_context -magnum.tests.unit.common.test_context.ContextTestCase.test_context ... ok -magnum.tests.unit.common.test_context.ContextTestCase.test_context_with_roles -magnum.tests.unit.common.test_context.ContextTestCase.test_context_with_roles ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_invalid_resource -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_invalid_resource ... ok -magnum.tests.unit.common.test_context.ContextTestCase.test_request_context_sets_is_admin -magnum.tests.unit.common.test_context.ContextTestCase.test_request_context_sets_is_admin ... ok -magnum.tests.unit.common.test_context.ContextTestCase.test_to_dict_from_dict -magnum.tests.unit.common.test_context.ContextTestCase.test_to_dict_from_dict ... ok -magnum.tests.unit.common.test_exception.TestException.test_all_exceptions -magnum.tests.unit.common.test_exception.TestException.test_all_exceptions ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_no_project_id -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_no_project_id ... ok -magnum.tests.unit.common.test_exception.TestException.test_custom_message_is_templated -magnum.tests.unit.common.test_exception.TestException.test_custom_message_is_templated ... ok -magnum.tests.unit.common.test_exception.TestException.test_message_is_templated -magnum.tests.unit.common.test_exception.TestException.test_message_is_templated ... ok -magnum.tests.unit.common.test_neutron.NeutronTest.test_delete_floatingip -magnum.tests.unit.common.test_neutron.NeutronTest.test_delete_floatingip ... 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.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.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.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 - +{"id": 12, "uuid": "a2d7a372-6741-4cc2-a41a-7c311c3b47ab", "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/a2d7a372-6741-4cc2-a41a-7c311c3b47ab", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/a2d7a372-6741-4cc2-a41a-7c311c3b47ab", "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 @@ -13219,7 +14066,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"id": 12, "uuid": "56cbd6a0-c75d-4ad1-a4f0-a732021dc46a", "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/56cbd6a0-c75d-4ad1-a4f0-a732021dc46a", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/56cbd6a0-c75d-4ad1-a4f0-a732021dc46a", "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} +{"id": 12, "uuid": "3d30658f-1ca5-4e0b-a5ec-2652cb539e48", "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/3d30658f-1ca5-4e0b-a5ec-2652cb539e48", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/3d30658f-1ca5-4e0b-a5ec-2652cb539e48", "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 @@ -13227,7 +14074,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"id": 12, "uuid": "c6b9849c-e5bb-40c7-9016-8a9a100e3c95", "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/c6b9849c-e5bb-40c7-9016-8a9a100e3c95", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/c6b9849c-e5bb-40c7-9016-8a9a100e3c95", "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} +{"id": 12, "uuid": "0c3937cc-ee87-4197-9ba5-ef537e3dc6f1", "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/0c3937cc-ee87-4197-9ba5-ef537e3dc6f1", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/0c3937cc-ee87-4197-9ba5-ef537e3dc6f1", "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 @@ -13235,412 +14082,353 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"id": 12, "uuid": "57aac8df-f5be-4390-b1a5-57c1f6390099", "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/57aac8df-f5be-4390-b1a5-57c1f6390099", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/57aac8df-f5be-4390-b1a5-57c1f6390099", "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/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} -GOT:Response: 201 Created -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2026-02-16T23:36:58.711874+00:00", "updated_at": null} -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': -10} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute hard_limit", "detail": "Invalid input for field/attribute hard_limit. Value: '-10'. Value should be greater or equal to 0", "links": []}]} -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'invalid-res', 'hard_limit': 10} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute resource", "detail": "Invalid input for field/attribute resource. Value: 'invalid-res'. Value should be one of: Cluster", "links": []}]} -POST: /v1/quotas {'id': 42, 'resource': 'Cluster', 'hard_limit': 10} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Must provide a valid project ID", "detail": "Must provide a valid project ID.", "links": []}]} -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "The project_id fake_project could not be found", "detail": "The project_id fake_project could not be found.", "links": []}]} -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 0} -GOT:Response: 201 Created -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"id": 42, "hard_limit": 0, "project_id": "fake_project", "resource": "Cluster", "created_at": "2026-02-16T23:36:58.842792+00:00", "updated_at": null} -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} -GOT:Response: 201 Created -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2026-02-16T23:36:58.871499+00:00", "updated_at": null} -DELETE: /v1/quotas/fake_project/Cluster -GOT:Response: 204 No Content -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_delete_quota -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_delete_quota ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_empty -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_empty ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_tenants -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_tenants ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_tenants_false -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_tenants_false ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_with_pagination_marker -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_with_pagination_marker ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_not_all_tenants -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_not_all_tenants ... ok -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_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_profiler.TestProfiler.test_all_public_methods_are_traced -magnum.tests.unit.common.test_profiler.TestProfiler.test_all_public_methods_are_traced ... ok -magnum.tests.unit.common.test_profiler.TestProfiler.test_setup_profiler -magnum.tests.unit.common.test_profiler.TestProfiler.test_setup_profiler ... ok -magnum.tests.unit.common.test_profiler.TestProfiler.test_setup_profiler_without_osprofiler -magnum.tests.unit.common.test_profiler.TestProfiler.test_setup_profiler_without_osprofiler ... ok -magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_12 -magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_12 ... ok -magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_16 -magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_16 ... ok -magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_60 -magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_60 ... ok -magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_8 -magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_8 ... ok -magnum.tests.unit.common.test_short_id.ShortIdTest.test_generate_ids -magnum.tests.unit.common.test_short_id.ShortIdTest.test_generate_ids ... ok -magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_string -magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_string ... ok -magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid1 -magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid1 ... ok -magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_0 -magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_0 ... ok -magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_1 -magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_1 ... ok -magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_endianness -magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_endianness ... ok -magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_f -magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_f ... ok -magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get -magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get ... ok -magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get_exceed_manifest_size -magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get_exceed_manifest_size ... ok -magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get_unsupported_scheme -magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get_unsupported_scheme ... ok -magnum.tests.unit.common.test_utils.GeneratePasswordTestCase.test_generate_password -magnum.tests.unit.common.test_utils.GeneratePasswordTestCase.test_generate_password ... ok -magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir -magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir ... ok -magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked -magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked ... ok -magnum.tests.unit.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.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.api.controllers.v1.test_quota.TestQuota.test_get_all_with_non_admin_context -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_with_non_admin_context ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_with_pagination_limit -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_with_pagination_limit ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_no_config_default -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_no_config_default ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_not_authorized -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_not_authorized ... ok -magnum.tests.unit.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.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_quota.TestQuota.test_patch_quota -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_patch_quota ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_patch_quota_not_found -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_patch_quota_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuotaObject.test_quota_init -magnum.tests.unit.api.controllers.v1.test_quota.TestQuotaObject.test_quota_init ... ok -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " +{"id": 12, "uuid": "057795a2-dd2e-45cd-8464-93ca47004991", "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/057795a2-dd2e-45cd-8464-93ca47004991", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/057795a2-dd2e-45cd-8464-93ca47004991", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 1, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_without_node_count +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_without_node_count ... ok magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_all_stats magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_all_stats ... ok +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 /usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.objects.test_magnum_service.TestMagnumServiceObject.test_report_state_up +magnum.tests.unit.objects.test_magnum_service.TestMagnumServiceObject.test_report_state_up ... ok /usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.objects.test_magnum_service.TestMagnumServiceObject.test_save +magnum.tests.unit.objects.test_magnum_service.TestMagnumServiceObject.test_save ... ok magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_invalid_tenant_stats magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_invalid_tenant_stats ... ok +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_create +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_create ... ok /usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_destroy +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_destroy ... ok /usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.common.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.objects.test_nodegroup.TestNodeGroupObject.test_get_by_id +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_id ... 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.objects.test_nodegroup.TestNodeGroupObject.test_get_by_name +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_name ... ok magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_empty magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_empty ... ok +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_uuid +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_uuid ... ok /usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_list +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_list ... ok magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_invalid_type_stats magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_invalid_type_stats ... ok +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_list_with_filters +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_list_with_filters ... ok /usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_refresh +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_refresh ... ok /usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.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.objects.test_nodegroup.TestNodeGroupObject.test_save +magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_save ... ok magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_self_stats magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_self_stats ... ok +magnum.tests.unit.objects.test_objects.TestObjectVersions.test_versions +magnum.tests.unit.objects.test_objects.TestObjectVersions.test_versions ... ok /usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_create +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_create ... ok /usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_self_stats_without_param magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_self_stats_without_param ... ok +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_destroy +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_destroy ... ok /usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_get_bad_id_and_uuid +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_get_bad_id_and_uuid ... ok /usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " -Exception ignored in: . at 0x7fb986ffbe20> -Traceback (most recent call last): - File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 729, in - _finalize_fairy( - File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 1035, in _finalize_fairy - connection_record.checkin() - File "/usr/lib/python3/dist-packages/sqlalchemy/pool/base.py", line 770, in checkin - pool.dispatch.checkin(connection, self) - File "/usr/lib/python3/dist-packages/sqlalchemy/event/attr.py", line 497, in __call__ - fn(*args, **kw) - File "/usr/lib/python3/dist-packages/oslo_db/sqlalchemy/engines.py", line 52, in _thread_yield - time.sleep(0) - File "/usr/lib/python3/dist-packages/eventlet/greenthread.py", line 35, in sleep - raise RuntimeError('do not call blocking functions from the mainloop') -RuntimeError: do not call blocking functions from the mainloop +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_get_by_id +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_get_by_id ... ok /usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_some_other_user_stats magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_some_other_user_stats ... 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.api.controllers.v1.test_types.TestDNSListType.test_invalid_single_dns -magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_invalid_single_dns ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_valid_multi_dns -magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_valid_multi_dns ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_valid_single_dns -magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_valid_single_dns ... ok +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_get_by_uuid +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_get_by_uuid ... 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.objects.test_x509keypair.TestX509KeyPairObject.test_list +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_list ... 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.objects.test_x509keypair.TestX509KeyPairObject.test_list_all +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_list_all ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_valid_false_values +magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_valid_false_values ... ok +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_refresh +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_refresh ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_valid_true_values +magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_valid_true_values ... ok +magnum.tests.unit.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.api.controllers.v1.test_types.TestJsonPatchType.test_invalid_path magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_invalid_path ... ok + +PATCH: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 20} +stdin:1:1: M338 Use assertIn/NotIn(A, B) rather than assertEqual(A in B, True/False) when checking collection contents. +stdin:1:1: M338 Use assertIn/NotIn(A, B) rather than assertEqual(A in B, True/False) when checking collection contents. +stdin:1:1: M338 Use assertIn/NotIn(A, B) rather than assertEqual(A in B, True/False) when checking collection contents. +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 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 +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 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 +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.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.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 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 +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.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.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.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 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 +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.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_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.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.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_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_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_hooks.TestNoExceptionTracebackHook.test_hook_exception_success -magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_exception_success ... ok -magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_remote_error_success -magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_remote_error_success ... ok -magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_server_debug_on_clientfault -magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_server_debug_on_clientfault ... ok -magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_server_debug_on_serverfault -magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_server_debug_on_serverfault ... ok -magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback -magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback ... ok -magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_http -magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_http ... ok -magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_http_config_workers -magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_http_config_workers ... ok -magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https -magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https ... ok -magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https_no_cert -magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https_no_cert ... ok -magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https_no_key -magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https_no_key ... ok -magnum.tests.unit.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.api.controllers.v1.test_types.TestUuidType.test_invalid_uuid +magnum.tests.unit.api.controllers.v1.test_types.TestUuidType.test_invalid_uuid ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestUuidType.test_valid_uuid +magnum.tests.unit.api.controllers.v1.test_types.TestUuidType.test_valid_uuid ... ok +magnum.tests.unit.api.test_app.TestAppConfig.test_get_pecan_config +magnum.tests.unit.api.test_app.TestAppConfig.test_get_pecan_config ... ok +magnum.tests.unit.api.test_hooks.TestContextHook.test_context_hook_before_method +magnum.tests.unit.api.test_hooks.TestContextHook.test_context_hook_before_method ... ok +magnum.tests.unit.api.test_hooks.TestContextHook.test_context_hook_before_method_auth_info +magnum.tests.unit.api.test_hooks.TestContextHook.test_context_hook_before_method_auth_info ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_all_three +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_all_three ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_created +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_created ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_latest_update +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_latest_update ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_updated +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_updated ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_check_type +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_check_type ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_all_three +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_all_three ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_create +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_create ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_old_update +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_old_update ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_update +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_update ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_forced_down +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_forced_down ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_cluster_type_not_supported +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_cluster_type_not_supported ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_cluster_type_supported +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_cluster_type_supported ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_all_allowed_create +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_all_allowed_create ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_all_allowed_update +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_all_allowed_update ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_default_config_create +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_default_config_create ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_default_create +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_default_create ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_default_invalid_create +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_default_invalid_create ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_invalid_coe_create +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_invalid_coe_create ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_not_allowed_create +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_not_allowed_create ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_not_allowed_update +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_not_allowed_update ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_one_allowed_create +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_one_allowed_create ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_one_allowed_update +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_one_allowed_update ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_two_allowed_create +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_two_allowed_create ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_two_allowed_update +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_two_allowed_update ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_server_type_invalid +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_server_type_invalid ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_server_type_valid_bm +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_server_type_valid_bm ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_server_type_valid_vm +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_server_type_valid_vm ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_invalid_create +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_invalid_create ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_not_supported_add_update +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_not_supported_add_update ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_not_supported_replace_update +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_not_supported_replace_update ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_remove_update +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_remove_update ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_supported_add_update +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_supported_add_update ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_supported_replace_update +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_supported_replace_update ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_valid_create +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_valid_create ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_validate_cluster_properties +magnum.tests.unit.api.test_validation.TestValidation.test_validate_cluster_properties ... ok +magnum.tests.unit.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 +Exception ignored in: +Traceback (most recent call last): + File "/usr/lib/python3.13/threading.py", line 1383, in __del__ +TypeError: 'NoneType' object does not support the context manager protocol magnum.tests.unit.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.cmd.test_driver_manage.TestMagnumDriverManage.test_none_arg magnum.tests.unit.cmd.test_driver_manage.TestMagnumDriverManage.test_none_arg ... ok -magnum.tests.unit.common.cert_manager.test_cert_manager.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.cmd.test_status.TestUpgradeChecks.test_checks +magnum.tests.unit.cmd.test_status.TestUpgradeChecks.test_checks ... ok +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanCert.test_barbican_cert +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanCert.test_barbican_cert ... ok +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanCert.test_barbican_cert_none_values +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanCert.test_barbican_cert_none_values ... ok +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_delete_cert +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_delete_cert ... ok +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_get_cert +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_get_cert ... ok +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_get_cert_no_registration +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_get_cert_no_registration ... ok +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_store_cert +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_store_cert ... ok +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_store_cert_failure +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_store_cert_failure ... ok +magnum.tests.unit.common.cert_manager.test_cert_manager.TestCert.test_get_decrypted_private_key +magnum.tests.unit.common.cert_manager.test_cert_manager.TestCert.test_get_decrypted_private_key ... ok +magnum.tests.unit.common.cert_manager.test_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.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.common.cert_manager.test_local.TestLocalManager.test_get_cert_without_intermediate +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_without_intermediate ... ok +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_without_pkp +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_without_pkp ... ok +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_store_cert +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_store_cert ... ok +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_store_cert_with_io_error +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_store_cert_with_io_error ... ok /usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"'fake-uuid'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_delete_cert @@ -13651,6 +14439,18 @@ magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_get_cert ... ok magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_store_cert magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_store_cert ... ok +magnum.tests.unit.common.policies.test_cluster_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_federation_policy.TestFederationPolicy.test_create_no_permission magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_create_no_permission ... ok magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_delete_no_permission @@ -13659,356 +14459,120 @@ 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.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 - -GET: /v1/quotas/fake_project/Cluster {} -GOT:Response: 200 OK -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"hard_limit": 20, "project_id": "fake_project", "resource": "Cluster"} -GET: /v1/quotas {} -GOT:{'quotas': []} -GET: /v1/quotas?all_tenants=True {} -GOT:{'quotas': [{'id': 1, 'hard_limit': 10, 'project_id': 'proj-id-0', 'resource': 'Cluster', 'created_at': '2026-02-16T23:36:58.940078+00:00', 'updated_at': None}, {'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2026-02-16T23:36:58.941916+00:00', 'updated_at': None}, {'id': 3, 'hard_limit': 10, 'project_id': 'proj-id-2', 'resource': 'Cluster', 'created_at': '2026-02-16T23:36:58.943288+00:00', 'updated_at': None}, {'id': 4, 'hard_limit': 10, 'project_id': 'proj-id-3', 'resource': 'Cluster', 'created_at': '2026-02-16T23:36:58.944505+00:00', 'updated_at': None}]} -GET: /v1/quotas?all_tenants=False {} -GOT:{'quotas': [{'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2026-02-16T23:36:58.977696+00:00', 'updated_at': None}]} -GET: /v1/quotas?limit=3&marker=3&all_tenants=True {} -GOT:{'quotas': [{'id': 4, 'hard_limit': 10, 'project_id': 'proj-id-3', 'resource': 'Cluster', 'created_at': '2026-02-16T23:36:59.014318+00:00', 'updated_at': None}]} -GET: /v1/quotas {} -GOT:{'quotas': [{'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2026-02-16T23:36:59.048902+00:00', 'updated_at': None}]} -GET: /v1/quotas {} -GOT:{'quotas': [{'id': 3, 'hard_limit': 10, 'project_id': 'proj-id-2', 'resource': 'Cluster', 'created_at': '2026-02-16T23:36:59.087908+00:00', 'updated_at': None}]} -GET: /v1/quotas?all_tenants=True {} -GOT:{'quotas': []} -GET: /v1/quotas?limit=2&all_tenants=True {} -GOT:{'quotas': [{'id': 1, 'hard_limit': 10, 'project_id': 'proj-id-0', 'resource': 'Cluster', 'created_at': '2026-02-16T23:37:01.556969+00:00', 'updated_at': None}, {'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2026-02-16T23:37:01.558495+00:00', 'updated_at': None}], 'next': 'http://localhost/v1/quotas?sort_key=id&sort_dir=asc&limit=2&marker=2'} -GET: /v1/quotas/fake_project/Cluster {} -GOT:{'id': 1, 'hard_limit': 10, 'project_id': 'fake_project', 'resource': 'Cluster', 'created_at': '2026-02-16T23:37:01.591069+00:00', 'updated_at': None} -GET: /v1/quotas/fake_project/Cluster {} -GOT:Response: 200 OK -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"hard_limit": 20, "project_id": "fake_project", "resource": "Cluster"} -GET: /v1/quotas/invalid_proj/invalid_res {} -GOT:Response: 403 Forbidden -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Not authorized", "detail": "Not authorized.", "links": []}]} -GET: /v1/quotas/fake_project/Cluster {} -GOT:Response: 200 OK -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"hard_limit": 15, "project_id": "fake_project", "resource": "Cluster"} -GET: /v1/quotas {} -GOT:{'quotas': [{'id': 1, 'hard_limit': 10, 'project_id': 'fake_project', 'resource': 'Cluster', 'created_at': '2026-02-16T23:37:01.703867+00:00', 'updated_at': None}]} -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 5} -GOT:Response: 201 Created -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"id": 42, "hard_limit": 5, "project_id": "fake_project", "resource": "Cluster", "created_at": "2026-02-16T23:37:01.742510+00:00", "updated_at": null} -PATCH: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 20} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"id": 42, "hard_limit": 20, "project_id": "fake_project", "resource": "Cluster", "created_at": "2026-02-16T23:37:01.742510+00:00", "updated_at": "2026-02-16T23:37:01.753799+00:00"} -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} -GOT:Response: 201 Created -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2026-02-16T23:37:01.782522+00:00", "updated_at": null} -PATCH: /v1/quotas {'project_id': 'not-found', 'hard_limit': 20, 'resource': 'Cluster'} -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Quota could not be found: project_id not-found resource Cluster", "detail": "Quota could not be found: project_id not-found resource Cluster.", "links": []}]} -GET: /v1/stats {} -GOT:{'clusters': 2, 'nodes': 12} -GET: /v1/stats?project_id=34 {} -GOT:{'clusters': 0, 'nodes': 0} -GET: /v1/stats?project_id=234 {} -GOT:{'clusters': 1, 'nodes': 6} -GET: /v1/stats {} -GOT:{'clusters': 0, 'nodes': 0} -GET: /v1/stats?project_id=123&type=invalid {} -GET: /v1/stats {} -GOT:{'clusters': 1, 'nodes': 6} -GET: /v1/stats {} -GOT:{'clusters': 1, 'nodes': 6} -GET: /v1/stats?project_id=123 {} -GET: / {} -GOT:Response: 500 Internal Server Error -Content-Type: application/json -{"errors": [{"request_id": "", "code": "server", "status": 500, "title": "Test exception message", "detail": "Test exception message.", "links": []}]} -GET: / {} -GOT:Response: 500 Internal Server Error -Content-Type: application/json -{"errors": [{"request_id": "", "code": "server", "status": 500, "title": "Remote error: TestException Test exception message", "detail": "Remote error: TestException Test exception message.\n['", "links": []}]} -GET: / {} -GOT:Response: 400 Bad Request -Content-Type: application/json -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Test exception message", "detail": "Test exception message.\nTraceback (most recent call last):\n File \"/opt/stack/magnum/magnum/openstack/common/rpc/amqp.py\", line 434, in _process_data\\n **args)\n File \"/opt/stack/magnum/magnum/openstack/common/rpc/dispatcher.py\", line 172, in dispatch\\n result = getattr(proxyobj, method)(context, **kwargs)", "links": []}]} -GET: / {} -GOT:Response: 500 Internal Server Error -Content-Type: application/json -{"errors": [{"request_id": "", "code": "server", "status": 500, "title": "Test exception message", "detail": "Test exception message.", "links": []}]} -GET: / {} -GOT:Response: 500 Internal Server Error -Content-Type: application/json -{"errors": [{"request_id": "", "code": "server", "status": 500, "title": "Error message without traceback \n but \n multiline", "detail": "Error message without traceback \n but \n multiline", "links": []}]} -POST: /v1/federations {} -DELETE: /v1/federations/e6620709-5121-4823-9408-0b358975619a -GET: /v1/federations/detail {} -GET: /v1/federations {} -GET: /v1/federations {} -GOT:{'federations': [{'uuid': '635361ce-1094-4802-bf66-e07a61691441', '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/635361ce-1094-4802-bf66-e07a61691441', 'rel': 'self'}, {'href': 'http://localhost/federations/635361ce-1094-4802-bf66-e07a61691441', 'rel': 'bookmark'}]}]}magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_get_reader +magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_get_reader magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_get_reader ... ok magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_update_no_permission magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_update_no_permission ... ok -magnum.tests.unit.common.policies.test_magnum_service_policy.TestMagnumServicePolicy.test_get_all_no_permission -magnum.tests.unit.common.policies.test_magnum_service_policy.TestMagnumServicePolicy.test_get_all_no_permission ... ok magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_create_no_permission magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_create_no_permission ... ok magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_delete_no_permission magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_delete_no_permission ... ok magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_get_all_no_permission magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_get_all_no_permission ... ok -magnum.tests.unit.common.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.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_get_no_permission magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_get_no_permission ... ok magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_update_no_permission magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_update_no_permission ... ok -magnum.tests.unit.common.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.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.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.test_keystone.KeystoneClientTest.test_trustee_domain_id -magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_trustee_domain_id ... ok -magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers -magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers ... ok -magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_already_deleted -magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_already_deleted ... ok -magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_no_candidate -magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_no_candidate ... ok -magnum.tests.unit.common.x509.test_sign.TestX509.test_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_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_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_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.common.test_octavia.OctaviaTest.test_delete_loadbalancers_timeout -magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_timeout ... ok -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_resize_success -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_resize_success ... ok -magnum.tests.unit.common.test_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.policies.test_stats_policy.TestStatsPolicy.test_stat_admin +magnum.tests.unit.common.policies.test_stats_policy.TestStatsPolicy.test_stat_admin ... ok +magnum.tests.unit.common.policies.test_stats_policy.TestStatsPolicy.test_stat_no_permission +magnum.tests.unit.common.policies.test_stats_policy.TestStatsPolicy.test_stat_no_permission ... ok +magnum.tests.unit.common.policies.test_stats_policy.TestStatsPolicy.test_stat_reader +magnum.tests.unit.common.policies.test_stats_policy.TestStatsPolicy.test_stat_reader ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_cached +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_cached ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_noauth +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_noauth ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_region +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_region ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_cached +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_cached ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_noauth +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_noauth ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_region +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_region ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_cached +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_cached ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_noauth +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_noauth ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_region +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_region ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_cached +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_cached ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_noauth +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_noauth ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_region +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_region ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_cached +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_cached ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_noauth +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_noauth ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_region +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_region ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_magnum_url +magnum.tests.unit.common.test_clients.ClientsTest.test_magnum_url ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_url_for +magnum.tests.unit.common.test_clients.ClientsTest.test_url_for ... ok +magnum.tests.unit.common.test_context.ContextTestCase.test_context +magnum.tests.unit.common.test_context.ContextTestCase.test_context ... ok +magnum.tests.unit.common.test_context.ContextTestCase.test_context_with_roles +magnum.tests.unit.common.test_context.ContextTestCase.test_context_with_roles ... ok +magnum.tests.unit.common.test_context.ContextTestCase.test_request_context_sets_is_admin +magnum.tests.unit.common.test_context.ContextTestCase.test_request_context_sets_is_admin ... ok +magnum.tests.unit.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_profiler.TestProfiler.test_all_public_methods_are_traced +magnum.tests.unit.common.test_profiler.TestProfiler.test_all_public_methods_are_traced ... ok +magnum.tests.unit.common.test_profiler.TestProfiler.test_setup_profiler +magnum.tests.unit.common.test_profiler.TestProfiler.test_setup_profiler ... ok +magnum.tests.unit.common.test_profiler.TestProfiler.test_setup_profiler_without_osprofiler +magnum.tests.unit.common.test_profiler.TestProfiler.test_setup_profiler_without_osprofiler ... ok magnum.tests.unit.common.test_rpc.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.conductor.handlers.test_cluster_conductor.TestHandler.test_create -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create ... 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.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.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.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.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.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.common.test_rpc.TestRpc.test_cleanup_notifier_null -magnum.tests.unit.common.test_rpc.TestRpc.test_cleanup_notifier_null ... ok -magnum.tests.unit.common.test_rpc.TestRpc.test_cleanup_transport_null -magnum.tests.unit.common.test_rpc.TestRpc.test_cleanup_transport_null ... ok -magnum.tests.unit.common.test_rpc.TestRpc.test_clear_extra_exmods -magnum.tests.unit.common.test_rpc.TestRpc.test_clear_extra_exmods ... ok -magnum.tests.unit.common.test_rpc.TestRpc.test_get_client -magnum.tests.unit.common.test_rpc.TestRpc.test_get_client ... ok -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_with_invalid_unicode_name -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_with_invalid_unicode_name ... ok -magnum.tests.unit.common.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.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.common.test_rpc.TestRpc.test_get_transport_url -magnum.tests.unit.common.test_rpc.TestRpc.test_get_transport_url ... ok -magnum.tests.unit.common.test_rpc.TestRpc.test_get_transport_url_null -magnum.tests.unit.common.test_rpc.TestRpc.test_get_transport_url_null ... ok -magnum.tests.unit.common.test_rpc.TestRpc.test_serialize_entity -magnum.tests.unit.common.test_rpc.TestRpc.test_serialize_entity ... ok magnum.tests.unit.common.test_service.TestMagnumService.test_prepare_service_with_argv_none magnum.tests.unit.common.test_service.TestMagnumService.test_prepare_service_with_argv_none ... ok magnum.tests.unit.common.test_service.TestMagnumService.test_prepare_service_with_argv_not_none magnum.tests.unit.common.test_service.TestMagnumService.test_prepare_service_with_argv_not_none ... ok -magnum.tests.unit.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.common.test_utils.ExecuteTestCase.test_check_exit_code_boolean -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_check_exit_code_boolean ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_get_root_helper -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_get_root_helper ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale ... ok -magnum.tests.unit.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.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables ... ok -magnum.tests.unit.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.common.test_utils.ExecuteTestCase.test_execute_without_root_helper -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_without_root_helper ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_no_retry_on_success -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_no_retry_on_success ... ok -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_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_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.common.test_utils.ExecuteTestCase.test_retry_on_failure -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_retry_on_failure ... 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.common.test_utils.ExecuteTestCase.test_safe_rstrip -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_safe_rstrip ... 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.common.test_utils.ExecuteTestCase.test_safe_rstrip_not_raises_exceptions -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_safe_rstrip_not_raises_exceptions ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_unknown_kwargs_raises_error -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_unknown_kwargs_raises_error ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_validate_and_normalize_mac -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_validate_and_normalize_mac ... ok -magnum.tests.unit.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.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_short_id.ShortIdTest.test_byte_string_12 +magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_12 ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_16 +magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_16 ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_60 +magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_60 ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_8 +magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_8 ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_generate_ids +magnum.tests.unit.common.test_short_id.ShortIdTest.test_generate_ids ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_string +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_string ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid1 +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid1 ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_0 +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_0 ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_1 +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_1 ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_endianness +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_endianness ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_f +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_f ... ok magnum.tests.unit.common.test_utils.UtilsTestCase.test_get_k8s_quantity magnum.tests.unit.common.test_utils.UtilsTestCase.test_get_k8s_quantity ... 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.common.test_utils.UtilsTestCase.test_get_openstasck_ca -magnum.tests.unit.common.test_utils.UtilsTestCase.test_get_openstasck_ca ... 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.common.x509.test_operations.TestX509Operations.test_decrypt_key -magnum.tests.unit.common.x509.test_operations.TestX509Operations.test_decrypt_key ... ok -magnum.tests.unit.conductor.handlers.test_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.common.x509.test_operations.TestX509Operations.test_generate_csr_and_key -magnum.tests.unit.common.x509.test_operations.TestX509Operations.test_generate_csr_and_key ... ok /usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method warnings.warn("TestResult has no addDuration method", +magnum.tests.unit.common.test_utils.UtilsTestCase.test_get_openstasck_ca +magnum.tests.unit.common.test_utils.UtilsTestCase.test_get_openstasck_ca ... ok magnum.tests.unit.common.x509.test_validator.TestValidators.test_disallow_ca_in_basic_constraints magnum.tests.unit.common.x509.test_validator.TestValidators.test_disallow_ca_in_basic_constraints ... ok magnum.tests.unit.common.x509.test_validator.TestValidators.test_disallow_ca_in_basic_constraints_not_critical @@ -14035,789 +14599,434 @@ 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.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.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_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_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.test_rpcapi.RPCAPITestCase.test_cluster_create magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_cluster_create ... 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.test_rpcapi.RPCAPITestCase.test_cluster_delete magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_cluster_delete ... 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.test_rpcapi.RPCAPITestCase.test_cluster_update magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_cluster_update ... 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_conductor_listener.TestHandler.test_ping_conductor -magnum.tests.unit.conductor.handlers.test_conductor_listener.TestHandler.test_ping_conductor ... ok magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_ca_certificate magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_ca_certificate ... ok -magnum.tests.unit.conductor.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.test_rpcapi.RPCAPITestCase.test_nodegroup_create magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_nodegroup_create ... 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.test_rpcapi.RPCAPITestCase.test_nodegroup_delete magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_nodegroup_delete ... 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.test_rpcapi.RPCAPITestCase.test_nodegroup_update magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_nodegroup_update ... 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.test_rpcapi.RPCAPITestCase.test_ping_conductor magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_ping_conductor ... 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.test_rpcapi.RPCAPITestCase.test_sign_certificate magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_sign_certificate ... 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.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_context magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_context ... ok -magnum.tests.unit.conductor.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.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.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.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.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.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_domainid_userid magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_domainid_userid ... ok -magnum.tests.unit.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.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_projectid magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_projectid ... ok -magnum.tests.unit.conductor.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.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_userid magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_userid ... 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.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_userid_projectid magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_userid_projectid ... 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.test_utils.TestConductorUtils.test_object_has_stack_delete_complete_status magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_object_has_stack_delete_complete_status ... 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_utils.TestConductorUtils.test_object_has_stack_delete_in_progress magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_object_has_stack_delete_in_progress ... ok magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_object_has_stack_invalid_status magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_object_has_stack_invalid_status ... ok magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_retrieve_cluster_name magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_retrieve_cluster_name ... 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.test_utils.TestConductorUtils.test_retrieve_cluster_template magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_retrieve_cluster_template ... 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.test_utils.TestConductorUtils.test_retrieve_cluster_uuid magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_retrieve_cluster_uuid ... 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.test_utils.TestConductorUtils.test_retrieve_cluster_uuid_from_name magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_retrieve_cluster_uuid_from_name ... ok -magnum.tests.unit.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.test_utils.TestConductorUtils.test_retrieve_cluster_uuid_from_uuid magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_retrieve_cluster_uuid_from_uuid ... 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.conf.test_conf.ConfTestCase.test_append_config -magnum.tests.unit.conf.test_conf.ConfTestCase.test_append_config ... 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.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.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.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.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.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.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.conf.test_conf.ConfTestCase.test_list_opts -magnum.tests.unit.conf.test_conf.ConfTestCase.test_list_opts ... 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.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.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.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.conductor.test_scale_manager.TestK8sScaleManager.test_get_hosts_with_container -magnum.tests.unit.conductor.test_scale_manager.TestK8sScaleManager.test_get_hosts_with_container ... ok -magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_no_container_host -magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_no_container_host ... ok -magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_one_container_host -magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_one_container_host ... ok -magnum.tests.unit.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.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_scale_up -magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_scale_up ... ok -magnum.tests.unit.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.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_three_container_hosts -magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_three_container_hosts ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_create_cluster -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_create_cluster ... ok -magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_two_container_hosts -magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_two_container_hosts ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_create_cluster_already_exists -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_create_cluster_already_exists ... ok -magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_with_none_hosts -magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_with_none_hosts ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_create_cluster_nullable_cluster_template_id -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_create_cluster_nullable_cluster_template_id ... ok magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_create_cluster_template magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_create_cluster_template ... ok magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_create_cluster_template_already_exists magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_create_cluster_template_already_exists ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_destroy_cluster -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_destroy_cluster ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_destroy_cluster_by_id_that_does_not_exist -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_destroy_cluster_by_id_that_does_not_exist ... ok magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_destroy_cluster_template magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_destroy_cluster_template ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_destroy_cluster_by_uuid -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_destroy_cluster_by_uuid ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_destroy_cluster_by_uuid_that_does_not_exist -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_destroy_cluster_by_uuid_that_does_not_exist ... ok magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_destroy_cluster_template_by_uuid magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_destroy_cluster_template_by_uuid ... ok magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_destroy_cluster_template_that_does_not_exist magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_destroy_cluster_template_that_does_not_exist ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_all_cluster_stats -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_all_cluster_stats ... ok magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_destroy_cluster_template_that_referenced_by_clusters magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_destroy_cluster_template_that_referenced_by_clusters ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_by_id -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_by_id ... ok magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_id magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_id ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_by_name -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_by_name ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_by_name_multiple_cluster -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_by_name_multiple_cluster ... ok magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_id_hidden magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_id_hidden ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_by_uuid -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_by_uuid ... ok magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_id_public magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_id_public ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list ... ok magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list_by_admin_all_tenants -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list_by_admin_all_tenants ... ok magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name_hidden magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name_hidden ... ok magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name_multiple_cluster_template magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name_multiple_cluster_template ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list_cluster_template_not_exist -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list_cluster_template_not_exist ... ok magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name_not_found magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name_not_found ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list_sorted -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list_sorted ... ok magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name_public magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name_public ... ok magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_uuid magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_uuid ... ok magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_uuid_hidden magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_uuid_hidden ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list_with_filters -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list_with_filters ... ok magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_uuid_public magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_uuid_public ... ok magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_uuid_that_does_not_exist magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_uuid_that_does_not_exist ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_that_does_not_exist -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_that_does_not_exist ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_one_tenant_cluster_stats -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_one_tenant_cluster_stats ... ok magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_list magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_list ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_update_cluster -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_update_cluster ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_update_cluster_not_found -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_update_cluster_not_found ... ok magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_list_sorted magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_list_sorted ... ok -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_update_cluster_uuid -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_update_cluster_uuid ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_create_federation -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_create_federation ... ok magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_list_with_filters magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_list_with_filters ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_create_federation_already_exists -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_create_federation_already_exists ... ok magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_that_does_not_exist magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_that_does_not_exist ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation ... ok magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_update_cluster_template magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_update_cluster_template ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_id_that_does_not_exist -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_id_that_does_not_exist ... ok magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_update_cluster_template_that_does_not_exist magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_update_cluster_template_that_does_not_exist ... ok -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_uudid_that_does_not_exist -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_uudid_that_does_not_exist ... ok magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_update_cluster_template_uuid magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_update_cluster_template_uuid ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_create_federation +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_create_federation ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_create_federation_already_exists +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_create_federation_already_exists ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_id_that_does_not_exist +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_id_that_does_not_exist ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_uudid_that_does_not_exist +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_uudid_that_does_not_exist ... ok magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_uuid magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_uuid ... ok -magnum.tests.unit.db.test_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_federation.DbFederationTestCase.test_get_federation_by_id magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_id ... ok -magnum.tests.unit.db.test_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_federation.DbFederationTestCase.test_get_federation_by_name magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_name ... ok -magnum.tests.unit.db.test_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_federation.DbFederationTestCase.test_get_federation_by_name_multiple_federation magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_name_multiple_federation ... ok -magnum.tests.unit.db.test_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_federation.DbFederationTestCase.test_get_federation_by_uuid magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_uuid ... ok -magnum.tests.unit.db.test_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_federation.DbFederationTestCase.test_get_federation_list magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list ... 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_federation.DbFederationTestCase.test_get_federation_list_by_admin_all_tenants magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list_by_admin_all_tenants ... ok -magnum.tests.unit.db.test_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_federation.DbFederationTestCase.test_get_federation_list_sorted magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list_sorted ... 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 /build/reproducible-path/magnum-19.0.0/magnum/db/sqlalchemy/api.py:116: SAWarning: TypeDecorator JSONEncodedList() will not produce a cache key because the ``cache_ok`` attribute is not set to True. This can have significant performance implications including some performance degradations in comparison to prior SQLAlchemy versions. Set this attribute to True if this type object's state is safe to use in a cache key, or False to disable this warning. (Background on this warning at: https://sqlalche.me/e/20/cprf) return query.all() /build/reproducible-path/magnum-19.0.0/magnum/db/sqlalchemy/api.py:116: SAWarning: TypeDecorator JSONEncodedDict() will not produce a cache key because the ``cache_ok`` attribute is not set to True. This can have significant performance implications including some performance degradations in comparison to prior SQLAlchemy versions. Set this attribute to True if this type object's state is safe to use in a cache key, or False to disable this warning. (Background on this warning at: https://sqlalche.me/e/20/cprf) return query.all() -magnum.tests.unit.db.test_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_federation.DbFederationTestCase.test_get_federation_list_with_filters magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list_with_filters ... ok -magnum.tests.unit.db.test_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_federation.DbFederationTestCase.test_get_federation_that_does_not_exist magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_that_does_not_exist ... ok -magnum.tests.unit.db.test_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_federation.DbFederationTestCase.test_update_federation_members magnum.tests.unit.db.test_federation.DbFederationTestCase.test_update_federation_members ... 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_federation.DbFederationTestCase.test_update_federation_not_found magnum.tests.unit.db.test_federation.DbFederationTestCase.test_update_federation_not_found ... ok -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_destroy_nodegroup -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_destroy_nodegroup ... ok magnum.tests.unit.db.test_federation.DbFederationTestCase.test_update_federation_properties magnum.tests.unit.db.test_federation.DbFederationTestCase.test_update_federation_properties ... ok -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_destroy_nodegroup_by_uuid -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_destroy_nodegroup_by_uuid ... ok +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_create_magnum_service +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_create_magnum_service ... ok +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_create_magnum_service_failure_for_dup +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_create_magnum_service_failure_for_dup ... ok +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_destroy_magnum_service +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_destroy_magnum_service ... ok +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_destroy_magnum_service_failure +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_destroy_magnum_service_failure ... ok +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_get_magnum_service_by_host_and_binary +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_get_magnum_service_by_host_and_binary ... ok +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_get_magnum_service_by_host_and_binary_failure +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_get_magnum_service_by_host_and_binary_failure ... ok +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_get_magnum_service_list +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_get_magnum_service_list ... ok +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_update_magnum_service +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_update_magnum_service ... ok +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_update_magnum_service_failure +magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_update_magnum_service_failure ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_create_quota +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_create_quota ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_create_quota_already_exists +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_create_quota_already_exists ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_delete_quota +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_delete_quota ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_delete_quota_that_does_not_exist +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_delete_quota_that_does_not_exist ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_all +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_all ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_by_project_id_resource +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_by_project_id_resource ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_by_project_id_resource_not_found +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_by_project_id_resource_not_found ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_invalid_sort_key +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_invalid_sort_key ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_sorted +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_sorted ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_with_filters +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_with_filters ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_update_quota +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_update_quota ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_update_quota_not_found +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_update_quota_not_found ... ok magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_create_x509keypair magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_create_x509keypair ... 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_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_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_x509keypair.DbX509KeyPairTestCase.test_destroy_x509keypair magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_destroy_x509keypair ... 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_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_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_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_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_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_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_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_list magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_list ... 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_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_nodegroup.DbNodeGroupTestCase.test_update_cluster -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_update_cluster ... 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.db.test_nodegroup.DbNodeGroupTestCase.test_update_nodegroup_not_found -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_update_nodegroup_not_found ... ok magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_delete_complete magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_delete_complete ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_create_quota -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_create_quota ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_create_quota_already_exists -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_create_quota_already_exists ... ok magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_nodegroup_failed magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_nodegroup_failed ... ok magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_create_complete magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_create_complete ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_delete_quota -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_delete_quota ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_delete_quota_that_does_not_exist -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_delete_quota_that_does_not_exist ... ok magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_create_failed magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_create_failed ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_all -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_all ... ok magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_creating magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_creating ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_by_project_id_resource -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_by_project_id_resource ... ok magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_delete_failed magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_delete_failed ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_by_project_id_resource_not_found -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_by_project_id_resource_not_found ... ok magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_delete_failed_def_ng magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_delete_failed_def_ng ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list ... ok magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_deleted magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_deleted ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_invalid_sort_key -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_invalid_sort_key ... ok magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_deleting magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_deleting ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_sorted -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_sorted ... ok magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_failed_default_ng magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_failed_default_ng ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_with_filters -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_with_filters ... ok magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_multiple_new_ngs magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_multiple_new_ngs ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_update_quota -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_update_quota ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_update_quota_not_found -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_update_quota_not_found ... ok magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_multiple_ngs_failed_and_updating magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_multiple_ngs_failed_and_updating ... ok -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_discovery_url -magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_discovery_url ... ok magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_new_ng_create_failed magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_new_ng_create_failed ... 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_heat_driver.TestHeatPoller.test_poll_and_check_new_ng_created magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_new_ng_created ... 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_heat_driver.TestHeatPoller.test_poll_and_check_new_ng_creating magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_new_ng_creating ... ok magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_new_ng_delete_failed magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_new_ng_delete_failed ... 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_heat_driver.TestHeatPoller.test_poll_and_check_new_ng_deleted magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_new_ng_deleted ... 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_heat_driver.TestHeatPoller.test_poll_and_check_new_ng_deleting magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_new_ng_deleting ... ok magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_new_ng_rollback_complete magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_new_ng_rollback_complete ... 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_heat_driver.TestHeatPoller.test_poll_and_check_new_ng_rollback_failed magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_new_ng_rollback_failed ... 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_heat_driver.TestHeatPoller.test_poll_and_check_new_ng_update_failed magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_new_ng_update_failed ... 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_heat_driver.TestHeatPoller.test_poll_and_check_new_ng_updated magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_new_ng_updated ... ok +magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_rollback_failed_def_ng +magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_rollback_failed_def_ng ... ok +magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_rollback_failed_default_ng +magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_rollback_failed_default_ng ... ok +magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_update_complete +magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_update_complete ... ok +magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_update_failed +magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_update_failed ... ok +magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_updating +magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_updating ... ok +magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_stack_not_found_creating +magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_stack_not_found_creating ... ok +magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_stack_not_found_deleting +magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_stack_not_found_deleting ... ok +magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_stack_not_found_new_ng_creating +magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_stack_not_found_new_ng_creating ... ok +magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_stack_not_found_new_ng_deleting +magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_stack_not_found_new_ng_deleting ... ok +magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_stack_not_found_new_ng_updating +magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_stack_not_found_new_ng_updating ... ok +magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_stack_not_found_updating +magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_stack_not_found_updating ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_discovery_url +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_discovery_url ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_discovery_url_fail +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_discovery_url_fail ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_discovery_url_not_found +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_discovery_url_not_found ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_heat_param +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_heat_param ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_external_network_id +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_external_network_id ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_insecure +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_insecure ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_octavia_disabled +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_octavia_disabled ... ok +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_octavia_enabled +magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_octavia_enabled ... ok magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_scale_params magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_scale_params ... ok magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_validate_discovery_url magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_validate_discovery_url ... ok -magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_rollback_failed_def_ng -magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_rollback_failed_def_ng ... 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_heat_driver.TestHeatPoller.test_poll_and_check_rollback_failed_default_ng -magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_rollback_failed_default_ng ... 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_heat_driver.TestHeatPoller.test_poll_and_check_update_complete -magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_update_complete ... 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_heat_driver.TestHeatPoller.test_poll_and_check_update_failed -magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_update_failed ... 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_heat_driver.TestHeatPoller.test_poll_and_check_updating -magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_updating ... 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_heat_driver.TestHeatPoller.test_stack_not_found_creating -magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_stack_not_found_creating ... 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_heat_driver.TestHeatPoller.test_stack_not_found_deleting -magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_stack_not_found_deleting ... 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_heat_driver.TestHeatPoller.test_stack_not_found_new_ng_creating -magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_stack_not_found_new_ng_creating ... 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_heat_driver.TestHeatPoller.test_stack_not_found_new_ng_deleting -magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_stack_not_found_new_ng_deleting ... 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_heat_driver.TestHeatPoller.test_stack_not_found_new_ng_updating -magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_stack_not_found_new_ng_updating ... ok magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_outputs_node_address_fip_disabled magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_outputs_node_address_fip_disabled ... ok -magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_create -magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_create ... ok -magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_stack_not_found_updating -magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_stack_not_found_updating ... ok -magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_destroy -magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_destroy ... 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.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.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.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.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.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.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.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.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.objects.test_cluster_template.TestClusterTemplateObject.test_list -magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_list ... 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.objects.test_cluster_template.TestClusterTemplateObject.test_refresh -magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_refresh ... 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.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.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.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.TestClusterType.test_coerce_bad_values -magnum.tests.unit.objects.test_fields.TestClusterType.test_coerce_bad_values ... ok -magnum.tests.unit.objects.test_fields.TestClusterType.test_coerce_good_values -magnum.tests.unit.objects.test_fields.TestClusterType.test_coerce_good_values ... ok -magnum.tests.unit.objects.test_fields.TestClusterType.test_from_primitive -magnum.tests.unit.objects.test_fields.TestClusterType.test_from_primitive ... ok -magnum.tests.unit.objects.test_fields.TestClusterType.test_stringify -magnum.tests.unit.objects.test_fields.TestClusterType.test_stringify ... ok -magnum.tests.unit.objects.test_fields.TestClusterType.test_stringify_invalid -magnum.tests.unit.objects.test_fields.TestClusterType.test_stringify_invalid ... ok -magnum.tests.unit.objects.test_fields.TestClusterType.test_to_primitive -magnum.tests.unit.objects.test_fields.TestClusterType.test_to_primitive ... ok magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_output_mapping magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_output_mapping ... 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.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_nodegroup.TestNodeGroupObject.test_create -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_create ... ok magnum.tests.unit.objects.test_cluster.TestClusterObject.test_create magnum.tests.unit.objects.test_cluster.TestClusterObject.test_create ... ok magnum.tests.unit.objects.test_cluster.TestClusterObject.test_destroy magnum.tests.unit.objects.test_cluster.TestClusterObject.test_destroy ... ok -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_destroy -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_destroy ... ok -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_id -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_id ... ok magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_bad_id_and_uuid magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_bad_id_and_uuid ... ok -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_name -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_name ... ok magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_by_id magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_by_id ... ok -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_uuid -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_uuid ... ok magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_by_name magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_by_name ... ok -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_list -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_list ... ok magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_by_uuid magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_by_uuid ... ok -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_list_with_filters -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_list_with_filters ... ok magnum.tests.unit.objects.test_cluster.TestClusterObject.test_list magnum.tests.unit.objects.test_cluster.TestClusterObject.test_list ... ok magnum.tests.unit.objects.test_cluster.TestClusterObject.test_list_all magnum.tests.unit.objects.test_cluster.TestClusterObject.test_list_all ... ok -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_refresh -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_refresh ... ok magnum.tests.unit.objects.test_cluster.TestClusterObject.test_list_with_filters magnum.tests.unit.objects.test_cluster.TestClusterObject.test_list_with_filters ... ok -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_save -magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_save ... ok -magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport -magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport ... ok magnum.tests.unit.objects.test_cluster.TestClusterObject.test_refresh magnum.tests.unit.objects.test_cluster.TestClusterObject.test_refresh ... 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_cluster.TestClusterObject.test_save magnum.tests.unit.objects.test_cluster.TestClusterObject.test_save ... 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_federation.TestFederationObject.test_create magnum.tests.unit.objects.test_federation.TestFederationObject.test_create ... 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_federation.TestFederationObject.test_destroy magnum.tests.unit.objects.test_federation.TestFederationObject.test_destroy ... 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_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_objects.TestObjectSerializer.test_object_serialization -magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization ... 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_objects.TestObjectSerializer.test_object_serialization_iterables -magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization_iterables ... 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_x509keypair.TestX509KeyPairObject.test_create -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_create ... 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_x509keypair.TestX509KeyPairObject.test_destroy -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_destroy ... 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_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_federation.TestFederationObject.test_list_all magnum.tests.unit.objects.test_federation.TestFederationObject.test_list_all ... 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_federation.TestFederationObject.test_list_with_filters magnum.tests.unit.objects.test_federation.TestFederationObject.test_list_with_filters ... 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_federation.TestFederationObject.test_refresh magnum.tests.unit.objects.test_federation.TestFederationObject.test_refresh ... 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_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 -magnum.tests.unit.objects.test_fields.TestClusterStatus.test_coerce_good_values ... ok -magnum.tests.unit.objects.test_fields.TestClusterStatus.test_from_primitive -magnum.tests.unit.objects.test_fields.TestClusterStatus.test_from_primitive ... ok -magnum.tests.unit.objects.test_fields.TestClusterStatus.test_stringify -magnum.tests.unit.objects.test_fields.TestClusterStatus.test_stringify ... ok -magnum.tests.unit.objects.test_fields.TestClusterStatus.test_stringify_invalid -magnum.tests.unit.objects.test_fields.TestClusterStatus.test_stringify_invalid ... ok -magnum.tests.unit.objects.test_fields.TestClusterStatus.test_to_primitive -magnum.tests.unit.objects.test_fields.TestClusterStatus.test_to_primitive ... ok -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_refresh -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_refresh ... ok -magnum.tests.unit.objects.test_fields.TestContainerStatus.test_coerce_bad_values -magnum.tests.unit.objects.test_fields.TestContainerStatus.test_coerce_bad_values ... ok -magnum.tests.unit.objects.test_fields.TestContainerStatus.test_coerce_good_values -magnum.tests.unit.objects.test_fields.TestContainerStatus.test_coerce_good_values ... ok -magnum.tests.unit.objects.test_fields.TestContainerStatus.test_from_primitive -magnum.tests.unit.objects.test_fields.TestContainerStatus.test_from_primitive ... ok -magnum.tests.unit.objects.test_fields.TestContainerStatus.test_stringify -magnum.tests.unit.objects.test_fields.TestContainerStatus.test_stringify ... ok -magnum.tests.unit.objects.test_fields.TestContainerStatus.test_stringify_invalid -magnum.tests.unit.objects.test_fields.TestContainerStatus.test_stringify_invalid ... ok -magnum.tests.unit.objects.test_fields.TestContainerStatus.test_to_primitive -magnum.tests.unit.objects.test_fields.TestContainerStatus.test_to_primitive ... ok -magnum.tests.unit.objects.test_fields.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_x509keypair.TestX509KeyPairObject.test_save -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_save ... 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 - -PATCH: /v1/federations/4c530ede-b0ef-4b83-9c1b-4b088c5f3a76 [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'add'}] -GET: /v1/mservices {} -POST: /v1/clusters/155277b6-799e-4e4e-9f7b-e3cadd4801c0/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/d17df25d-c494-4776-a8e2-41b7ce9f170b/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 -GET: /v1/clusters/7728facb-0c5c-4c1d-8f4b-f3c55a4063df/nodegroups/ {} -GET: /v1/clusters/9151556d-2cd3-4884-979f-45abac11784c/nodegroups/foo {} -PATCH: /v1/clusters/bd18a793-932f-460b-9fe6-8c3f3bbb45b2/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 [{'path': '/max_node_count', 'value': 4, 'op': 'replace'}] -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_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 @@ -14874,146 +15083,80 @@ magnum.tests.unit.objects.test_objects.TestObject.test_updates ... ok magnum.tests.unit.objects.test_objects.TestObject.test_with_alternate_context magnum.tests.unit.objects.test_objects.TestObject.test_with_alternate_context ... ok -magnum.tests.unit.objects.test_objects.TestObjectVersions.test_versions -magnum.tests.unit.objects.test_objects.TestObjectVersions.test_versions ... ok -magnum.tests.unit.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 -Exception ignored in: -Traceback (most recent call last): - File "/usr/lib/python3.13/threading.py", line 1383, in __del__ -TypeError: 'NoneType' object does not support the context manager protocol -magnum.tests.unit.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.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.template.test_template.TestTemplate.test_template_yaml magnum.tests.unit.template.test_template.TestTemplate.test_template_yaml ... ok -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/max_node_count', 'value': 4, 'op': 'replace'}] -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"id": 12, "uuid": "483203a3-dbee-4a9c-9d65-9820512f4df8", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 2, "role": "worker", "min_node_count": 2, "max_node_count": 4, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2026-02-16T23:36:56.606160+00:00", "updated_at": null} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 {} -GOT:{'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'cluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 2, 'role': 'worker', 'min_node_count': 2, 'max_node_count': 4, 'is_default': False, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2026-02-16T23:36:56.606160+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/3d8f7072-7a05-4e1f-9dc5-19948e69d5e9/nodegroups/e88fae5c-837d-4a10-be7a-aa97e226a5d3 [{'path': '/max_node_count', 'value': 4, 'op': 'replace'}] -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"id": 50, "uuid": "e88fae5c-837d-4a10-be7a-aa97e226a5d3", "name": "nodegroup1", "cluster_id": "3d8f7072-7a05-4e1f-9dc5-19948e69d5e9", "project_id": "fake", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/3d8f7072-7a05-4e1f-9dc5-19948e69d5e9/nodegroups/e88fae5c-837d-4a10-be7a-aa97e226a5d3", "rel": "self"}, {"href": "http://localhost/clusters/3d8f7072-7a05-4e1f-9dc5-19948e69d5e9/nodegroups/e88fae5c-837d-4a10-be7a-aa97e226a5d3", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": 4, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2026-02-16T23:36:56.745124+00:00", "updated_at": null} -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'}] +GET: /v1/stats {} +GOT:{'clusters': 2, 'nodes': 12} +GET: /v1/stats?project_id=34 {} +GOT:{'clusters': 0, 'nodes': 0} +GET: /v1/stats?project_id=234 {} +GOT:{'clusters': 1, 'nodes': 6} +GET: /v1/stats {} +GOT:{'clusters': 0, 'nodes': 0} +GET: /v1/stats?project_id=123&type=invalid {} +GET: /v1/stats {} +GOT:{'clusters': 1, 'nodes': 6} +GET: /v1/stats {} +GOT:{'clusters': 1, 'nodes': 6} +GET: /v1/stats?project_id=123 {} POST: /v1/clustertemplates {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'clustermodel1', 'image_id': 'ubuntu', 'flavor_id': 'm1.small', 'master_flavor_id': 'm1.small', 'keypair_id': 'keypair1', 'external_network_id': 'd1f02cfb-d27f-4068-9332-84d907cb0e2e', 'fixed_network': 'private', 'fixed_subnet': 'private-subnet', 'network_driver': None, 'volume_driver': None, 'dns_nameserver': '8.8.1.1', 'apiserver_port': 8080, 'docker_volume_size': 20, 'docker_storage_driver': 'devicemapper', 'cluster_distro': 'fedora-coreos', 'coe': 'kubernetes', 'labels': {'key1': 'val1', 'key2': 'val2'}, 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'registry_enabled': False, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'hidden': False, 'tags': '', 'driver': ''} DELETE: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 GET: /v1/clustertemplates {} GET: /v1/clustertemplates/detail {} GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/dns_nameserver', 'op': 'remove'}] -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} -GOT:Response: 201 Created -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2026-02-16T23:36:58.352964+00:00", "updated_at": null} -DELETE: /v1/quotas/fake_project/Cluster -GET: /v1/quotas {} -GET: /v1/quotas/fake_project/Cluster {} -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 5} -GOT:Response: 201 Created -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"id": 42, "hard_limit": 5, "project_id": "fake_project", "resource": "Cluster", "created_at": "2026-02-16T23:36:58.446622+00:00", "updated_at": null} -PATCH: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 20} +POST: /v1/federations {} +DELETE: /v1/federations/424a0900-5343-433f-bf6c-0e806529b02f +GET: /v1/federations/detail {} +GET: /v1/federations {} +GET: /v1/federations {} +GOT:{'federations': [{'uuid': '4c9cdfe9-0bbb-4a38-bf37-a3f3e7c7cf85', '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/4c9cdfe9-0bbb-4a38-bf37-a3f3e7c7cf85', 'rel': 'self'}, {'href': 'http://localhost/federations/4c9cdfe9-0bbb-4a38-bf37-a3f3e7c7cf85', 'rel': 'bookmark'}]}]} +PATCH: /v1/federations/6389f9a7-b8ad-491f-8d4c-f9939079ae38 [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'add'}] +POST: /v1/clusters/eaf803e8-d364-41e0-b42e-92db2c243acf/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/efc10a0d-0e02-4567-8622-4f3a782f8ea9/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 +GET: /v1/clusters/e033f44e-997e-453c-9f2b-3bf26d3360f3/nodegroups/ {} +GET: /v1/clusters/a7795519-c21b-46be-8ef2-4ce7048cc796/nodegroups/foo {} +PATCH: /v1/clusters/edcc6706-769b-469c-ae8d-853d9dcf4a53/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 [{'path': '/max_node_count', 'value': 4, 'op': 'replace'}] GET: /v1/stats {} GOT:{'clusters': 0, 'nodes': 0} GET: /v1/stats {} GET: /v1/stats {} GOT:{'clusters': 0, 'nodes': 0} -stdin:1:1: M338 Use assertIn/NotIn(A, B) rather than assertEqual(A in B, True/False) when checking collection contents. -stdin:1:1: M338 Use assertIn/NotIn(A, B) rather than assertEqual(A in B, True/False) when checking collection contents. -stdin:1:1: M338 Use assertIn/NotIn(A, B) rather than assertEqual(A in B, True/False) when checking collection contents. -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 1164 tests in 31.810s +Ran 1164 tests in 91.789s OK + stestr slowest -Test id Runtime (s) --------------------------------------------------------------------------------------------------- ----------- -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_destroy_cluster_template 2.518 -magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_destroy_cluster_by_id_that_does_not_exist 2.487 -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_non_admin 2.438 -magnum.tests.unit.common.test_utils.GeneratePasswordTestCase.test_generate_password 2.174 -magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_timeout 1.020 -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_retry_on_failure 0.551 -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_issuer_name 0.400 -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_subject_name 0.381 -magnum.tests.unit.common.x509.test_sign.TestX509.test_sign_with_invalid_csr 0.361 -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_has_publickey 0.348 +Test id Runtime (s) +---------------------------------------------------------------------------------------------------------- ----------- +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_retry_on_failure 1.252 +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_has_publickey 1.042 +magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_timeout 1.028 +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_extentions_as_client 0.880 +magnum.tests.unit.api.controllers.test_root.TestHeathcheck.test_healthcheck_disable_file 0.862 +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_extentions_as_ca 0.860 +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_rollback_disabled 0.786 +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_has_publickey 0.769 +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_subject_name 0.736 +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_name_multiple_federation 0.695 + rm -rf .stestr dh_install --fail-missing dh_install: warning: Please use dh_missing --list-missing/--fail-missing instead @@ -15032,9 +15175,9 @@ --namespace oslo.service.service \ --namespace keystonemiddleware.auth_token pkgos-readd-keystone-authtoken-missing-options /build/reproducible-path/magnum-19.0.0/debian/magnum-common/usr/share/magnum-common/magnum.conf keystone_authtoken magnum -pkgos_inifile: Setting value in pkgos-readd-keystone-authtoken-missing-options.bW4pyL:[keystone_authtoken]/www_authenticate_uri -pkgos_inifile: Setting value in pkgos-readd-keystone-authtoken-missing-options.bW4pyL:[keystone_authtoken]/auth_type -pkgos_inifile: Setting value in pkgos-readd-keystone-authtoken-missing-options.bW4pyL:[keystone_authtoken]/region_name +pkgos_inifile: Setting value in pkgos-readd-keystone-authtoken-missing-options.bm20Eq:[keystone_authtoken]/www_authenticate_uri +pkgos_inifile: Setting value in pkgos-readd-keystone-authtoken-missing-options.bm20Eq:[keystone_authtoken]/auth_type +pkgos_inifile: Setting value in pkgos-readd-keystone-authtoken-missing-options.bm20Eq:[keystone_authtoken]/region_name pkgos-fix-config-default /build/reproducible-path/magnum-19.0.0/debian/magnum-common/usr/share/magnum-common/magnum.conf oslo_concurrency lock_path /var/lock/magnum pkgos_inifile: Setting value in /build/reproducible-path/magnum-19.0.0/debian/magnum-common/usr/share/magnum-common/magnum.conf:[oslo_concurrency]/lock_path pkgos-fix-config-default /build/reproducible-path/magnum-19.0.0/debian/magnum-common/usr/share/magnum-common/magnum.conf keystone_authtoken auth_protocol http @@ -15112,12 +15255,12 @@ make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions dh_python3 --shebang=/usr/bin/python3 -I: dh_python3 tools:113: replacing shebang in debian/python3-magnum/usr/bin/magnum-driver-manage -I: dh_python3 tools:113: replacing shebang in debian/python3-magnum/usr/bin/magnum-api -I: dh_python3 tools:113: replacing shebang in debian/python3-magnum/usr/bin/magnum-api-wsgi -I: dh_python3 tools:113: replacing shebang in debian/python3-magnum/usr/bin/magnum-status I: dh_python3 tools:113: replacing shebang in debian/python3-magnum/usr/bin/magnum-db-manage +I: dh_python3 tools:113: replacing shebang in debian/python3-magnum/usr/bin/magnum-api-wsgi I: dh_python3 tools:113: replacing shebang in debian/python3-magnum/usr/bin/magnum-conductor +I: dh_python3 tools:113: replacing shebang in debian/python3-magnum/usr/bin/magnum-status +I: dh_python3 tools:113: replacing shebang in debian/python3-magnum/usr/bin/magnum-api +I: dh_python3 tools:113: replacing shebang in debian/python3-magnum/usr/bin/magnum-driver-manage make[1]: Leaving directory '/build/reproducible-path/magnum-19.0.0' debian/rules override_dh_installinit make[1]: Entering directory '/build/reproducible-path/magnum-19.0.0' @@ -15130,15 +15273,17 @@ cat /usr/share/openstack-pkg-tools/init-script-template >>$MYINIT.init ; \ pkgos-gen-systemd-unit $i ; \ done -+ ls -1 debian/magnum-api.init.in debian/magnum-conductor.init.in -+ + echo debian/magnum-api.init.in -sed s/.init.in// +++ ls -1 debian/magnum-api.init.in debian/magnum-conductor.init.in ++ for i in `ls -1 debian/*.init.in` +++ echo debian/magnum-api.init.in +++ sed s/.init.in// + MYINIT=debian/magnum-api + cp debian/magnum-api.init.in debian/magnum-api.init + cat /usr/share/openstack-pkg-tools/init-script-template + pkgos-gen-systemd-unit debian/magnum-api.init.in -+ + sed s/.init.in// -echo debian/magnum-conductor.init.in ++ for i in `ls -1 debian/*.init.in` +++ echo debian/magnum-conductor.init.in +++ sed s/.init.in// + MYINIT=debian/magnum-conductor + cp debian/magnum-conductor.init.in debian/magnum-conductor.init + cat /usr/share/openstack-pkg-tools/init-script-template @@ -15148,7 +15293,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 \ @@ -15157,16 +15302,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` +++ echo debian/magnum-api.init.in +++ sed s/.init.in/.service.in/ + MYINIT=debian/magnum-api.service.in -+ [ -e debian/magnum-api.service.in ] ++ '[' -e debian/magnum-api.service.in ']' + pkgos-gen-systemd-unit debian/magnum-api.init.in -+ + echo debian/magnum-conductor.init.in -sed s/.init.in/.service.in/ ++ for i in `ls debian/*.init.in` +++ sed s/.init.in/.service.in/ +++ echo debian/magnum-conductor.init.in + MYINIT=debian/magnum-conductor.service.in -+ [ -e debian/magnum-conductor.service.in ] ++ '[' -e debian/magnum-conductor.service.in ']' + pkgos-gen-systemd-unit debian/magnum-conductor.init.in dh_installinit --error-handler=true make[1]: Leaving directory '/build/reproducible-path/magnum-19.0.0' @@ -15189,16 +15336,16 @@ else \ dh_gencontrol -- -T/build/reproducible-path/magnum-19.0.0/debian/debian_control_vars ; \ fi -dpkg-gencontrol: warning: Depends field of package magnum-conductor: substitution variable ${python3:Depends} used, but is not defined dpkg-gencontrol: warning: Depends field of package magnum-api: substitution variable ${python3:Depends} used, but is not defined dpkg-gencontrol: warning: Depends field of package magnum-common: 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 make[1]: Leaving directory '/build/reproducible-path/magnum-19.0.0' dh_md5sums -O--buildsystem=pybuild dh_builddeb -O--buildsystem=pybuild dpkg-deb: building package 'python3-magnum' in '../python3-magnum_19.0.0-4_all.deb'. -dpkg-deb: building package 'magnum-conductor' in '../magnum-conductor_19.0.0-4_all.deb'. dpkg-deb: building package 'magnum-api' in '../magnum-api_19.0.0-4_all.deb'. dpkg-deb: building package 'magnum-common' in '../magnum-common_19.0.0-4_all.deb'. +dpkg-deb: building package 'magnum-conductor' in '../magnum-conductor_19.0.0-4_all.deb'. dpkg-genbuildinfo --build=binary -O../magnum_19.0.0-4_amd64.buildinfo dpkg-genchanges --build=binary -O../magnum_19.0.0-4_amd64.changes dpkg-genchanges: info: binary-only upload (no source code included) @@ -15207,12 +15354,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/1351936/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/1351936/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/2216003 and its subdirectories -I: Current time: Mon Feb 16 11:37:57 -12 2026 -I: pbuilder-time-stamp: 1771285077 +I: removing directory /srv/workspace/pbuilder/1351936 and its subdirectories +I: Current time: Wed Jan 15 07:26:47 +14 2025 +I: pbuilder-time-stamp: 1736875607