Diff of the two buildlogs: -- --- b1/build.log 2025-09-14 10:47:10.485462021 +0000 +++ b2/build.log 2025-09-14 10:50:07.969676772 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Sat Oct 17 05:04:22 -12 2026 -I: pbuilder-time-stamp: 1792256662 +I: Current time: Mon Sep 15 00:47:12 +14 2025 +I: pbuilder-time-stamp: 1757846832 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/experimental-reproducible-base.tgz] I: copying local configuration @@ -27,53 +27,85 @@ dpkg-source: info: applying removed-setuptools-depends.patch I: using fakeroot in build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/1010947/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/2498244/tmp/hooks/D01_modify_environment starting +debug: Running on codethink04-arm64. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Sep 14 10:47 /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/2498244/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/2498244/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build/reproducible-path' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='arm64' - DEBIAN_FRONTEND='noninteractive' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="3" [2]="3" [3]="1" [4]="release" [5]="aarch64-unknown-linux-gnu") + BASH_VERSION='5.3.3(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=arm64 + DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' - DISTRIBUTION='experimental' - HOME='/root' - HOST_ARCH='arm64' + DIRSTACK=() + DISTRIBUTION=experimental + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=aarch64 + HOST_ARCH=arm64 IFS=' ' - INVOCATION_ID='5cc021535dc44b47997df645de0f7927' - 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='1010947' - PS1='# ' - PS2='> ' + INVOCATION_ID=9a0d723e2de547d79d70c16685585123 + LANG=C + LANGUAGE=nl_BE:nl + LC_ALL=C + MACHTYPE=aarch64-unknown-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=2498244 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.rpYgRUXM/pbuilderrc_OZ6d --distribution experimental --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/experimental-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.rpYgRUXM/b1 --logfile b1/build.log magnum_21.0.0~rc1-1.dsc' - SUDO_GID='109' - SUDO_HOME='/var/lib/jenkins' - SUDO_UID='104' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://192.168.101.4:3128' + PWD=/ + SHELL=/bin/bash + SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix + SHLVL=3 + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.rpYgRUXM/pbuilderrc_Dujk --distribution experimental --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/experimental-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.rpYgRUXM/b2 --logfile b2/build.log magnum_21.0.0~rc1-1.dsc' + SUDO_GID=109 + SUDO_HOME=/var/lib/jenkins + SUDO_UID=104 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://192.168.101.4:3128 I: uname -a - Linux codethink03-arm64 6.12.43+deb13-cloud-arm64 #1 SMP Debian 6.12.43-1 (2025-08-27) aarch64 GNU/Linux + Linux i-capture-the-hostname 6.12.43+deb13-cloud-arm64 #1 SMP Debian 6.12.43-1 (2025-08-27) aarch64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Aug 10 2025 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/1010947/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Aug 10 12:30 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/2498244/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -623,7 +655,7 @@ Get: 382 http://deb.debian.org/debian unstable/main arm64 python3-webtest all 3.0.6-1 [35.8 kB] Get: 383 http://deb.debian.org/debian unstable/main arm64 python3-werkzeug all 3.1.3-2 [207 kB] Get: 384 http://deb.debian.org/debian unstable/main arm64 python3-wsme all 0.12.1-6 [44.1 kB] -Fetched 106 MB in 1s (132 MB/s) +Fetched 106 MB in 1s (201 MB/s) Preconfiguring packages ... Selecting previously unselected package libexpat1:arm64. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 20020 files and directories currently installed.) @@ -1836,8 +1868,8 @@ Setting up tzdata (2025b-5) ... Current default time zone: 'Etc/UTC' -Local time is now: Sat Oct 17 17:05:20 UTC 2026. -Universal Time is now: Sat Oct 17 17:05:20 UTC 2026. +Local time is now: Sun Sep 14 10:47:46 UTC 2025. +Universal Time is now: Sun Sep 14 10:47:46 UTC 2025. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up liberror-perl (0.17030-1) ... @@ -2206,7 +2238,11 @@ fakeroot is already the newest version (1.37.1.2-1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package -I: Running cd /build/reproducible-path/magnum-21.0.0~rc1/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../magnum_21.0.0~rc1-1_source.changes +I: user script /srv/workspace/pbuilder/2498244/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for experimental +I: user script /srv/workspace/pbuilder/2498244/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/magnum-21.0.0~rc1/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../magnum_21.0.0~rc1-1_source.changes dpkg-buildpackage: info: source package magnum dpkg-buildpackage: info: source version 21.0.0~rc1-1 dpkg-buildpackage: info: source distribution experimental @@ -2505,59 +2541,32 @@ [pbr] AUTHORS complete (0.0s) running build running build_py -creating build/lib/magnum/conductor -copying magnum/conductor/utils.py -> build/lib/magnum/conductor -copying magnum/conductor/scale_manager.py -> build/lib/magnum/conductor -copying magnum/conductor/monitors.py -> build/lib/magnum/conductor -copying magnum/conductor/k8s_api.py -> build/lib/magnum/conductor -copying magnum/conductor/api.py -> build/lib/magnum/conductor -copying magnum/conductor/__init__.py -> build/lib/magnum/conductor -creating build/lib/magnum/service -copying magnum/service/periodic.py -> build/lib/magnum/service -copying magnum/service/__init__.py -> build/lib/magnum/service -creating build/lib/magnum/tests/unit/cmd -copying magnum/tests/unit/cmd/test_status.py -> build/lib/magnum/tests/unit/cmd -copying magnum/tests/unit/cmd/test_driver_manage.py -> build/lib/magnum/tests/unit/cmd -copying magnum/tests/unit/cmd/test_db_manage.py -> build/lib/magnum/tests/unit/cmd -copying magnum/tests/unit/cmd/test_conductor.py -> build/lib/magnum/tests/unit/cmd -copying magnum/tests/unit/cmd/test_api.py -> build/lib/magnum/tests/unit/cmd -copying magnum/tests/unit/cmd/__init__.py -> build/lib/magnum/tests/unit/cmd -creating build/lib/magnum/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/db -copying magnum/db/migration.py -> build/lib/magnum/db -copying magnum/db/api.py -> build/lib/magnum/db -copying magnum/db/__init__.py -> build/lib/magnum/db -creating build/lib/magnum/tests/unit/objects -copying magnum/tests/unit/objects/utils.py -> build/lib/magnum/tests/unit/objects -copying magnum/tests/unit/objects/test_x509keypair.py -> build/lib/magnum/tests/unit/objects -copying magnum/tests/unit/objects/test_objects.py -> build/lib/magnum/tests/unit/objects -copying magnum/tests/unit/objects/test_nodegroup.py -> build/lib/magnum/tests/unit/objects -copying magnum/tests/unit/objects/test_magnum_service.py -> build/lib/magnum/tests/unit/objects -copying magnum/tests/unit/objects/test_fields.py -> build/lib/magnum/tests/unit/objects -copying magnum/tests/unit/objects/test_federation.py -> build/lib/magnum/tests/unit/objects -copying magnum/tests/unit/objects/test_cluster_template.py -> build/lib/magnum/tests/unit/objects -copying magnum/tests/unit/objects/test_cluster.py -> build/lib/magnum/tests/unit/objects -copying magnum/tests/unit/objects/__init__.py -> build/lib/magnum/tests/unit/objects -creating build/lib/magnum/cmd -copying magnum/cmd/status.py -> build/lib/magnum/cmd -copying magnum/cmd/driver_manage.py -> build/lib/magnum/cmd -copying magnum/cmd/db_manage.py -> build/lib/magnum/cmd -copying magnum/cmd/conductor.py -> build/lib/magnum/cmd -copying magnum/cmd/api.py -> build/lib/magnum/cmd -copying magnum/cmd/__init__.py -> build/lib/magnum/cmd -creating build/lib/magnum/tests/unit/drivers -copying magnum/tests/unit/drivers/test_template_definition.py -> build/lib/magnum/tests/unit/drivers -copying magnum/tests/unit/drivers/test_heat_driver.py -> build/lib/magnum/tests/unit/drivers -copying magnum/tests/unit/drivers/__init__.py -> build/lib/magnum/tests/unit/drivers -creating build/lib/magnum/tests/functional/k8s_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/handlers/common -copying magnum/tests/unit/conductor/handlers/common/test_trust_manager.py -> build/lib/magnum/tests/unit/conductor/handlers/common -copying magnum/tests/unit/conductor/handlers/common/test_cert_manager.py -> build/lib/magnum/tests/unit/conductor/handlers/common -copying magnum/tests/unit/conductor/handlers/common/__init__.py -> build/lib/magnum/tests/unit/conductor/handlers/common +creating build/lib/magnum/tests/unit/common/policies +copying magnum/tests/unit/common/policies/test_stats_policy.py -> build/lib/magnum/tests/unit/common/policies +copying magnum/tests/unit/common/policies/test_quota_policy.py -> build/lib/magnum/tests/unit/common/policies +copying magnum/tests/unit/common/policies/test_nodegroup_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_federation_policy.py -> build/lib/magnum/tests/unit/common/policies +copying magnum/tests/unit/common/policies/test_cluster_template_policy.py -> build/lib/magnum/tests/unit/common/policies +copying magnum/tests/unit/common/policies/test_cluster_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/__init__.py -> build/lib/magnum/tests/unit/common/policies +creating build/lib/magnum/tests/unit/common/cert_manager +copying magnum/tests/unit/common/cert_manager/test_x509keypair_cert_manager.py -> build/lib/magnum/tests/unit/common/cert_manager +copying magnum/tests/unit/common/cert_manager/test_local.py -> build/lib/magnum/tests/unit/common/cert_manager +copying magnum/tests/unit/common/cert_manager/test_cert_manager.py -> build/lib/magnum/tests/unit/common/cert_manager +copying magnum/tests/unit/common/cert_manager/test_barbican.py -> build/lib/magnum/tests/unit/common/cert_manager +copying magnum/tests/unit/common/cert_manager/__init__.py -> build/lib/magnum/tests/unit/common/cert_manager +creating build/lib/magnum/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_k8s_cluster_conductor.py -> build/lib/magnum/tests/unit/conductor/handlers +copying magnum/tests/unit/conductor/handlers/test_indirection_api.py -> build/lib/magnum/tests/unit/conductor/handlers +copying magnum/tests/unit/conductor/handlers/test_federation_conductor.py -> build/lib/magnum/tests/unit/conductor/handlers +copying magnum/tests/unit/conductor/handlers/test_conductor_listener.py -> build/lib/magnum/tests/unit/conductor/handlers +copying magnum/tests/unit/conductor/handlers/test_cluster_conductor.py -> build/lib/magnum/tests/unit/conductor/handlers +copying magnum/tests/unit/conductor/handlers/test_ca_conductor.py -> build/lib/magnum/tests/unit/conductor/handlers +copying magnum/tests/unit/conductor/handlers/__init__.py -> build/lib/magnum/tests/unit/conductor/handlers creating build/lib/magnum/conf copying magnum/conf/docker.py -> build/lib/magnum/conf copying magnum/conf/x509.py -> build/lib/magnum/conf @@ -2589,94 +2598,6 @@ copying magnum/conf/barbican.py -> build/lib/magnum/conf copying magnum/conf/api.py -> build/lib/magnum/conf copying magnum/conf/__init__.py -> build/lib/magnum/conf -copying magnum/tests/functional/python_client_base.py -> build/lib/magnum/tests/functional -copying magnum/tests/functional/__init__.py -> build/lib/magnum/tests/functional -creating build/lib/magnum/tests/unit/api/controllers -copying magnum/tests/unit/api/controllers/test_root.py -> build/lib/magnum/tests/unit/api/controllers -copying magnum/tests/unit/api/controllers/test_base.py -> build/lib/magnum/tests/unit/api/controllers -copying magnum/tests/unit/api/controllers/__init__.py -> build/lib/magnum/tests/unit/api/controllers -creating build/lib/magnum/tests/functional/api/v1/models -copying magnum/tests/functional/api/v1/models/magnum_service_model.py -> build/lib/magnum/tests/functional/api/v1/models -copying magnum/tests/functional/api/v1/models/clusterpatch_model.py -> build/lib/magnum/tests/functional/api/v1/models -copying magnum/tests/functional/api/v1/models/cluster_templatepatch_model.py -> build/lib/magnum/tests/functional/api/v1/models -copying magnum/tests/functional/api/v1/models/cluster_template_model.py -> build/lib/magnum/tests/functional/api/v1/models -copying magnum/tests/functional/api/v1/models/cluster_model.py -> build/lib/magnum/tests/functional/api/v1/models -copying magnum/tests/functional/api/v1/models/cluster_id_model.py -> build/lib/magnum/tests/functional/api/v1/models -copying magnum/tests/functional/api/v1/models/cert_model.py -> build/lib/magnum/tests/functional/api/v1/models -copying magnum/tests/functional/api/v1/models/__init__.py -> build/lib/magnum/tests/functional/api/v1/models -copying magnum/tests/utils.py -> build/lib/magnum/tests -copying magnum/tests/policy_fixture.py -> build/lib/magnum/tests -copying magnum/tests/output_fixture.py -> build/lib/magnum/tests -copying magnum/tests/fakes.py -> build/lib/magnum/tests -copying magnum/tests/fake_notifier.py -> build/lib/magnum/tests -copying magnum/tests/conf_fixture.py -> build/lib/magnum/tests -copying magnum/tests/base.py -> build/lib/magnum/tests -copying magnum/tests/__init__.py -> build/lib/magnum/tests -creating build/lib/magnum/hacking -copying magnum/hacking/checks.py -> build/lib/magnum/hacking -copying magnum/hacking/__init__.py -> build/lib/magnum/hacking -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 -copying magnum/tests/unit/conductor/handlers/test_nodegroup_conductor.py -> build/lib/magnum/tests/unit/conductor/handlers -copying magnum/tests/unit/conductor/handlers/test_k8s_cluster_conductor.py -> build/lib/magnum/tests/unit/conductor/handlers -copying magnum/tests/unit/conductor/handlers/test_indirection_api.py -> build/lib/magnum/tests/unit/conductor/handlers -copying magnum/tests/unit/conductor/handlers/test_federation_conductor.py -> build/lib/magnum/tests/unit/conductor/handlers -copying magnum/tests/unit/conductor/handlers/test_conductor_listener.py -> build/lib/magnum/tests/unit/conductor/handlers -copying magnum/tests/unit/conductor/handlers/test_cluster_conductor.py -> build/lib/magnum/tests/unit/conductor/handlers -copying magnum/tests/unit/conductor/handlers/test_ca_conductor.py -> build/lib/magnum/tests/unit/conductor/handlers -copying magnum/tests/unit/conductor/handlers/__init__.py -> build/lib/magnum/tests/unit/conductor/handlers -creating build/lib/magnum/api/controllers -copying magnum/api/controllers/versions.py -> build/lib/magnum/api/controllers -copying magnum/api/controllers/root.py -> build/lib/magnum/api/controllers -copying magnum/api/controllers/link.py -> build/lib/magnum/api/controllers -copying magnum/api/controllers/base.py -> build/lib/magnum/api/controllers -copying magnum/api/controllers/__init__.py -> build/lib/magnum/api/controllers -creating build/lib/magnum/tests/functional/api/v1/clients -copying magnum/tests/functional/api/v1/clients/magnum_service_client.py -> build/lib/magnum/tests/functional/api/v1/clients -copying magnum/tests/functional/api/v1/clients/cluster_template_client.py -> build/lib/magnum/tests/functional/api/v1/clients -copying magnum/tests/functional/api/v1/clients/cluster_client.py -> build/lib/magnum/tests/functional/api/v1/clients -copying magnum/tests/functional/api/v1/clients/cert_client.py -> build/lib/magnum/tests/functional/api/v1/clients -copying magnum/tests/functional/api/v1/clients/__init__.py -> build/lib/magnum/tests/functional/api/v1/clients -creating build/lib/magnum/api/middleware -copying magnum/api/middleware/parsable_error.py -> build/lib/magnum/api/middleware -copying magnum/api/middleware/auth_token.py -> build/lib/magnum/api/middleware -copying magnum/api/middleware/__init__.py -> build/lib/magnum/api/middleware -creating build/lib/magnum/common/cert_manager -copying magnum/common/cert_manager/x509keypair_cert_manager.py -> build/lib/magnum/common/cert_manager -copying magnum/common/cert_manager/local_cert_manager.py -> build/lib/magnum/common/cert_manager -copying magnum/common/cert_manager/cert_manager.py -> build/lib/magnum/common/cert_manager -copying magnum/common/cert_manager/barbican_cert_manager.py -> build/lib/magnum/common/cert_manager -copying magnum/common/cert_manager/__init__.py -> build/lib/magnum/common/cert_manager -creating build/lib/magnum/db/sqlalchemy -copying magnum/db/sqlalchemy/models.py -> build/lib/magnum/db/sqlalchemy -copying magnum/db/sqlalchemy/migration.py -> build/lib/magnum/db/sqlalchemy -copying magnum/db/sqlalchemy/api.py -> build/lib/magnum/db/sqlalchemy -copying magnum/db/sqlalchemy/__init__.py -> build/lib/magnum/db/sqlalchemy -creating build/lib/magnum/tests/functional/k8s -copying magnum/tests/functional/k8s/test_magnum_python_client.py -> build/lib/magnum/tests/functional/k8s -copying magnum/tests/functional/k8s/test_k8s_python_client.py -> build/lib/magnum/tests/functional/k8s -copying magnum/tests/functional/k8s/__init__.py -> build/lib/magnum/tests/functional/k8s -copying magnum/tests/unit/api/utils.py -> build/lib/magnum/tests/unit/api -copying magnum/tests/unit/api/test_validation.py -> build/lib/magnum/tests/unit/api -copying magnum/tests/unit/api/test_servicegroup.py -> build/lib/magnum/tests/unit/api -copying magnum/tests/unit/api/test_hooks.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/test_app.py -> build/lib/magnum/tests/unit/api -copying magnum/tests/unit/api/base.py -> build/lib/magnum/tests/unit/api -copying magnum/tests/unit/api/__init__.py -> build/lib/magnum/tests/unit/api -copying magnum/api/versioned_method.py -> build/lib/magnum/api -copying magnum/api/validation.py -> build/lib/magnum/api -copying magnum/api/utils.py -> build/lib/magnum/api -copying magnum/api/servicegroup.py -> build/lib/magnum/api -copying magnum/api/http_error.py -> build/lib/magnum/api -copying magnum/api/hooks.py -> build/lib/magnum/api -copying magnum/api/expose.py -> build/lib/magnum/api -copying magnum/api/config.py -> build/lib/magnum/api -copying magnum/api/attr_validator.py -> build/lib/magnum/api -copying magnum/api/app.py -> build/lib/magnum/api -copying magnum/api/__init__.py -> build/lib/magnum/api creating build/lib/magnum/conductor/handlers copying magnum/conductor/handlers/nodegroup_conductor.py -> build/lib/magnum/conductor/handlers copying magnum/conductor/handlers/indirection_api.py -> build/lib/magnum/conductor/handlers @@ -2686,19 +2607,10 @@ copying magnum/conductor/handlers/cluster_conductor.py -> build/lib/magnum/conductor/handlers copying magnum/conductor/handlers/ca_conductor.py -> build/lib/magnum/conductor/handlers copying magnum/conductor/handlers/__init__.py -> build/lib/magnum/conductor/handlers -creating build/lib/magnum/common/x509 -copying magnum/common/x509/validator.py -> build/lib/magnum/common/x509 -copying magnum/common/x509/operations.py -> build/lib/magnum/common/x509 -copying magnum/common/x509/extensions.py -> build/lib/magnum/common/x509 -copying magnum/common/x509/__init__.py -> build/lib/magnum/common/x509 -creating build/lib/magnum/tests/unit/common/x509 -copying magnum/tests/unit/common/x509/test_validator.py -> build/lib/magnum/tests/unit/common/x509 -copying magnum/tests/unit/common/x509/test_sign.py -> build/lib/magnum/tests/unit/common/x509 -copying magnum/tests/unit/common/x509/test_operations.py -> build/lib/magnum/tests/unit/common/x509 -copying magnum/tests/unit/common/x509/__init__.py -> build/lib/magnum/tests/unit/common/x509 -creating build/lib/magnum/servicegroup -copying magnum/servicegroup/magnum_service_periodic.py -> build/lib/magnum/servicegroup -copying magnum/servicegroup/__init__.py -> build/lib/magnum/servicegroup +creating build/lib/magnum/tests/unit/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 copying magnum/common/utils.py -> build/lib/magnum/common copying magnum/common/urlfetch.py -> build/lib/magnum/common copying magnum/common/short_id.py -> build/lib/magnum/common @@ -2718,13 +2630,52 @@ copying magnum/common/clients.py -> build/lib/magnum/common copying magnum/common/cinder.py -> build/lib/magnum/common copying magnum/common/__init__.py -> build/lib/magnum/common +creating build/lib/magnum/tests/unit/objects +copying magnum/tests/unit/objects/utils.py -> build/lib/magnum/tests/unit/objects +copying magnum/tests/unit/objects/test_x509keypair.py -> build/lib/magnum/tests/unit/objects +copying magnum/tests/unit/objects/test_objects.py -> build/lib/magnum/tests/unit/objects +copying magnum/tests/unit/objects/test_nodegroup.py -> build/lib/magnum/tests/unit/objects +copying magnum/tests/unit/objects/test_magnum_service.py -> build/lib/magnum/tests/unit/objects +copying magnum/tests/unit/objects/test_fields.py -> build/lib/magnum/tests/unit/objects +copying magnum/tests/unit/objects/test_federation.py -> build/lib/magnum/tests/unit/objects +copying magnum/tests/unit/objects/test_cluster_template.py -> build/lib/magnum/tests/unit/objects +copying magnum/tests/unit/objects/test_cluster.py -> build/lib/magnum/tests/unit/objects +copying magnum/tests/unit/objects/__init__.py -> build/lib/magnum/tests/unit/objects +creating build/lib/magnum/tests/unit/api/controllers/v1 +copying magnum/tests/unit/api/controllers/v1/test_utils.py -> build/lib/magnum/tests/unit/api/controllers/v1 +copying magnum/tests/unit/api/controllers/v1/test_types.py -> build/lib/magnum/tests/unit/api/controllers/v1 +copying magnum/tests/unit/api/controllers/v1/test_stats.py -> build/lib/magnum/tests/unit/api/controllers/v1 +copying magnum/tests/unit/api/controllers/v1/test_quota.py -> build/lib/magnum/tests/unit/api/controllers/v1 +copying magnum/tests/unit/api/controllers/v1/test_nodegroup.py -> build/lib/magnum/tests/unit/api/controllers/v1 +copying magnum/tests/unit/api/controllers/v1/test_magnum_service.py -> build/lib/magnum/tests/unit/api/controllers/v1 +copying magnum/tests/unit/api/controllers/v1/test_federation.py -> build/lib/magnum/tests/unit/api/controllers/v1 +copying magnum/tests/unit/api/controllers/v1/test_credential.py -> build/lib/magnum/tests/unit/api/controllers/v1 +copying magnum/tests/unit/api/controllers/v1/test_cluster_template.py -> build/lib/magnum/tests/unit/api/controllers/v1 +copying magnum/tests/unit/api/controllers/v1/test_cluster_actions.py -> build/lib/magnum/tests/unit/api/controllers/v1 +copying magnum/tests/unit/api/controllers/v1/test_cluster.py -> build/lib/magnum/tests/unit/api/controllers/v1 +copying magnum/tests/unit/api/controllers/v1/test_certificate.py -> build/lib/magnum/tests/unit/api/controllers/v1 +copying magnum/tests/unit/api/controllers/v1/__init__.py -> build/lib/magnum/tests/unit/api/controllers/v1 creating build/lib/magnum/conductor/handlers/common copying magnum/conductor/handlers/common/trust_manager.py -> build/lib/magnum/conductor/handlers/common copying magnum/conductor/handlers/common/cert_manager.py -> build/lib/magnum/conductor/handlers/common copying magnum/conductor/handlers/common/__init__.py -> build/lib/magnum/conductor/handlers/common -creating build/lib/magnum/tests/unit/conf -copying magnum/tests/unit/conf/test_conf.py -> build/lib/magnum/tests/unit/conf -copying magnum/tests/unit/conf/__init__.py -> build/lib/magnum/tests/unit/conf +creating build/lib/magnum/tests/functional/api/v1/clients +copying magnum/tests/functional/api/v1/clients/magnum_service_client.py -> build/lib/magnum/tests/functional/api/v1/clients +copying magnum/tests/functional/api/v1/clients/cluster_template_client.py -> build/lib/magnum/tests/functional/api/v1/clients +copying magnum/tests/functional/api/v1/clients/cluster_client.py -> build/lib/magnum/tests/functional/api/v1/clients +copying magnum/tests/functional/api/v1/clients/cert_client.py -> build/lib/magnum/tests/functional/api/v1/clients +copying magnum/tests/functional/api/v1/clients/__init__.py -> build/lib/magnum/tests/functional/api/v1/clients +copying magnum/tests/functional/api/base.py -> build/lib/magnum/tests/functional/api +copying magnum/tests/functional/api/__init__.py -> build/lib/magnum/tests/functional/api +creating build/lib/magnum/tests/unit/common/x509 +copying magnum/tests/unit/common/x509/test_validator.py -> build/lib/magnum/tests/unit/common/x509 +copying magnum/tests/unit/common/x509/test_sign.py -> build/lib/magnum/tests/unit/common/x509 +copying magnum/tests/unit/common/x509/test_operations.py -> build/lib/magnum/tests/unit/common/x509 +copying magnum/tests/unit/common/x509/__init__.py -> build/lib/magnum/tests/unit/common/x509 +copying magnum/tests/functional/api/v1/__init__.py -> build/lib/magnum/tests/functional/api/v1 +copying magnum/tests/unit/test_hacking.py -> build/lib/magnum/tests/unit +copying magnum/tests/unit/__init__.py -> build/lib/magnum/tests/unit +creating build/lib/magnum/tests/unit/db copying magnum/tests/unit/db/utils.py -> build/lib/magnum/tests/unit/db copying magnum/tests/unit/db/test_x509keypair.py -> build/lib/magnum/tests/unit/db copying magnum/tests/unit/db/test_quota.py -> build/lib/magnum/tests/unit/db @@ -2735,19 +2686,29 @@ copying magnum/tests/unit/db/test_cluster.py -> build/lib/magnum/tests/unit/db copying magnum/tests/unit/db/base.py -> build/lib/magnum/tests/unit/db copying magnum/tests/unit/db/__init__.py -> build/lib/magnum/tests/unit/db +creating build/lib/magnum/db +copying magnum/db/migration.py -> build/lib/magnum/db +copying magnum/db/api.py -> build/lib/magnum/db +copying magnum/db/__init__.py -> build/lib/magnum/db +creating build/lib/magnum/drivers/common +copying magnum/drivers/common/k8s_scale_manager.py -> build/lib/magnum/drivers/common +copying magnum/drivers/common/k8s_monitor.py -> build/lib/magnum/drivers/common +copying magnum/drivers/common/driver.py -> build/lib/magnum/drivers/common +copying magnum/drivers/common/__init__.py -> build/lib/magnum/drivers/common +creating build/lib/magnum/service +copying magnum/service/periodic.py -> build/lib/magnum/service +copying magnum/service/__init__.py -> build/lib/magnum/service 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/common -copying magnum/tests/functional/common/utils.py -> build/lib/magnum/tests/functional/common -copying magnum/tests/functional/common/models.py -> build/lib/magnum/tests/functional/common -copying magnum/tests/functional/common/manager.py -> build/lib/magnum/tests/functional/common -copying magnum/tests/functional/common/datagen.py -> build/lib/magnum/tests/functional/common -copying magnum/tests/functional/common/config.py -> build/lib/magnum/tests/functional/common -copying magnum/tests/functional/common/client.py -> build/lib/magnum/tests/functional/common -copying magnum/tests/functional/common/base.py -> build/lib/magnum/tests/functional/common -copying magnum/tests/functional/common/__init__.py -> build/lib/magnum/tests/functional/common -creating build/lib/magnum/drivers +copying magnum/tests/utils.py -> build/lib/magnum/tests +copying magnum/tests/policy_fixture.py -> build/lib/magnum/tests +copying magnum/tests/output_fixture.py -> build/lib/magnum/tests +copying magnum/tests/fakes.py -> build/lib/magnum/tests +copying magnum/tests/fake_notifier.py -> build/lib/magnum/tests +copying magnum/tests/conf_fixture.py -> build/lib/magnum/tests +copying magnum/tests/base.py -> build/lib/magnum/tests +copying magnum/tests/__init__.py -> build/lib/magnum/tests copying magnum/drivers/__init__.py -> build/lib/magnum/drivers creating build/lib/magnum/common/policies copying magnum/common/policies/stats.py -> build/lib/magnum/common/policies @@ -2761,31 +2722,35 @@ copying magnum/common/policies/certificate.py -> build/lib/magnum/common/policies copying magnum/common/policies/base.py -> build/lib/magnum/common/policies copying magnum/common/policies/__init__.py -> build/lib/magnum/common/policies -copying magnum/tests/unit/test_hacking.py -> build/lib/magnum/tests/unit -copying magnum/tests/unit/__init__.py -> build/lib/magnum/tests/unit -creating build/lib/magnum/tests/unit/common/cert_manager -copying magnum/tests/unit/common/cert_manager/test_x509keypair_cert_manager.py -> build/lib/magnum/tests/unit/common/cert_manager -copying magnum/tests/unit/common/cert_manager/test_local.py -> build/lib/magnum/tests/unit/common/cert_manager -copying magnum/tests/unit/common/cert_manager/test_cert_manager.py -> build/lib/magnum/tests/unit/common/cert_manager -copying magnum/tests/unit/common/cert_manager/test_barbican.py -> build/lib/magnum/tests/unit/common/cert_manager -copying magnum/tests/unit/common/cert_manager/__init__.py -> build/lib/magnum/tests/unit/common/cert_manager -copying magnum/tests/functional/api/v1/__init__.py -> build/lib/magnum/tests/functional/api/v1 +copying magnum/conductor/utils.py -> build/lib/magnum/conductor +copying magnum/conductor/scale_manager.py -> build/lib/magnum/conductor +copying magnum/conductor/monitors.py -> build/lib/magnum/conductor +copying magnum/conductor/k8s_api.py -> build/lib/magnum/conductor +copying magnum/conductor/api.py -> build/lib/magnum/conductor +copying magnum/conductor/__init__.py -> build/lib/magnum/conductor +creating build/lib/magnum/tests/unit/cmd +copying magnum/tests/unit/cmd/test_status.py -> build/lib/magnum/tests/unit/cmd +copying magnum/tests/unit/cmd/test_driver_manage.py -> build/lib/magnum/tests/unit/cmd +copying magnum/tests/unit/cmd/test_db_manage.py -> build/lib/magnum/tests/unit/cmd +copying magnum/tests/unit/cmd/test_conductor.py -> build/lib/magnum/tests/unit/cmd +copying magnum/tests/unit/cmd/test_api.py -> build/lib/magnum/tests/unit/cmd +copying magnum/tests/unit/cmd/__init__.py -> build/lib/magnum/tests/unit/cmd +creating build/lib/magnum/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/api/middleware +copying magnum/api/middleware/parsable_error.py -> build/lib/magnum/api/middleware +copying magnum/api/middleware/auth_token.py -> build/lib/magnum/api/middleware +copying magnum/api/middleware/__init__.py -> build/lib/magnum/api/middleware +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/hacking +copying magnum/hacking/checks.py -> build/lib/magnum/hacking +copying magnum/hacking/__init__.py -> build/lib/magnum/hacking 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/objects -copying magnum/objects/x509keypair.py -> build/lib/magnum/objects -copying magnum/objects/stats.py -> build/lib/magnum/objects -copying magnum/objects/quota.py -> build/lib/magnum/objects -copying magnum/objects/nodegroup.py -> build/lib/magnum/objects -copying magnum/objects/magnum_service.py -> build/lib/magnum/objects -copying magnum/objects/fields.py -> build/lib/magnum/objects -copying magnum/objects/federation.py -> build/lib/magnum/objects -copying magnum/objects/cluster_template.py -> build/lib/magnum/objects -copying magnum/objects/cluster.py -> build/lib/magnum/objects -copying magnum/objects/certificate.py -> build/lib/magnum/objects -copying magnum/objects/base.py -> build/lib/magnum/objects -copying magnum/objects/__init__.py -> build/lib/magnum/objects copying magnum/tests/unit/common/test_utils.py -> build/lib/magnum/tests/unit/common copying magnum/tests/unit/common/test_urlfetch.py -> build/lib/magnum/tests/unit/common copying magnum/tests/unit/common/test_short_id.py -> build/lib/magnum/tests/unit/common @@ -2800,41 +2765,29 @@ copying magnum/tests/unit/common/test_context.py -> build/lib/magnum/tests/unit/common copying magnum/tests/unit/common/test_clients.py -> build/lib/magnum/tests/unit/common copying magnum/tests/unit/common/__init__.py -> build/lib/magnum/tests/unit/common -copying magnum/version.py -> build/lib/magnum -copying magnum/i18n.py -> build/lib/magnum -copying magnum/__init__.py -> build/lib/magnum -creating build/lib/magnum/tests/unit/api/controllers/v1 -copying magnum/tests/unit/api/controllers/v1/test_utils.py -> build/lib/magnum/tests/unit/api/controllers/v1 -copying magnum/tests/unit/api/controllers/v1/test_types.py -> build/lib/magnum/tests/unit/api/controllers/v1 -copying magnum/tests/unit/api/controllers/v1/test_stats.py -> build/lib/magnum/tests/unit/api/controllers/v1 -copying magnum/tests/unit/api/controllers/v1/test_quota.py -> build/lib/magnum/tests/unit/api/controllers/v1 -copying magnum/tests/unit/api/controllers/v1/test_nodegroup.py -> build/lib/magnum/tests/unit/api/controllers/v1 -copying magnum/tests/unit/api/controllers/v1/test_magnum_service.py -> build/lib/magnum/tests/unit/api/controllers/v1 -copying magnum/tests/unit/api/controllers/v1/test_federation.py -> build/lib/magnum/tests/unit/api/controllers/v1 -copying magnum/tests/unit/api/controllers/v1/test_credential.py -> build/lib/magnum/tests/unit/api/controllers/v1 -copying magnum/tests/unit/api/controllers/v1/test_cluster_template.py -> build/lib/magnum/tests/unit/api/controllers/v1 -copying magnum/tests/unit/api/controllers/v1/test_cluster_actions.py -> build/lib/magnum/tests/unit/api/controllers/v1 -copying magnum/tests/unit/api/controllers/v1/test_cluster.py -> build/lib/magnum/tests/unit/api/controllers/v1 -copying magnum/tests/unit/api/controllers/v1/test_certificate.py -> build/lib/magnum/tests/unit/api/controllers/v1 -copying magnum/tests/unit/api/controllers/v1/__init__.py -> build/lib/magnum/tests/unit/api/controllers/v1 -copying magnum/tests/functional/api/base.py -> build/lib/magnum/tests/functional/api -copying magnum/tests/functional/api/__init__.py -> build/lib/magnum/tests/functional/api -creating build/lib/magnum/drivers/common -copying magnum/drivers/common/k8s_scale_manager.py -> build/lib/magnum/drivers/common -copying magnum/drivers/common/k8s_monitor.py -> build/lib/magnum/drivers/common -copying magnum/drivers/common/driver.py -> build/lib/magnum/drivers/common -copying magnum/drivers/common/__init__.py -> build/lib/magnum/drivers/common -creating build/lib/magnum/tests/unit/common/policies -copying magnum/tests/unit/common/policies/test_stats_policy.py -> build/lib/magnum/tests/unit/common/policies -copying magnum/tests/unit/common/policies/test_quota_policy.py -> build/lib/magnum/tests/unit/common/policies -copying magnum/tests/unit/common/policies/test_nodegroup_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_federation_policy.py -> build/lib/magnum/tests/unit/common/policies -copying magnum/tests/unit/common/policies/test_cluster_template_policy.py -> build/lib/magnum/tests/unit/common/policies -copying magnum/tests/unit/common/policies/test_cluster_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/__init__.py -> build/lib/magnum/tests/unit/common/policies +copying magnum/tests/unit/conductor/test_utils.py -> build/lib/magnum/tests/unit/conductor +copying magnum/tests/unit/conductor/test_scale_manager.py -> build/lib/magnum/tests/unit/conductor +copying magnum/tests/unit/conductor/test_rpcapi.py -> build/lib/magnum/tests/unit/conductor +copying magnum/tests/unit/conductor/test_monitors.py -> build/lib/magnum/tests/unit/conductor +copying magnum/tests/unit/conductor/test_k8s_api.py -> build/lib/magnum/tests/unit/conductor +copying magnum/tests/unit/conductor/__init__.py -> build/lib/magnum/tests/unit/conductor +creating build/lib/magnum/common/cert_manager +copying magnum/common/cert_manager/x509keypair_cert_manager.py -> build/lib/magnum/common/cert_manager +copying magnum/common/cert_manager/local_cert_manager.py -> build/lib/magnum/common/cert_manager +copying magnum/common/cert_manager/cert_manager.py -> build/lib/magnum/common/cert_manager +copying magnum/common/cert_manager/barbican_cert_manager.py -> build/lib/magnum/common/cert_manager +copying magnum/common/cert_manager/__init__.py -> build/lib/magnum/common/cert_manager +creating build/lib/magnum/common/x509 +copying magnum/common/x509/validator.py -> build/lib/magnum/common/x509 +copying magnum/common/x509/operations.py -> build/lib/magnum/common/x509 +copying magnum/common/x509/extensions.py -> build/lib/magnum/common/x509 +copying magnum/common/x509/__init__.py -> build/lib/magnum/common/x509 +creating build/lib/magnum/api/controllers +copying magnum/api/controllers/versions.py -> build/lib/magnum/api/controllers +copying magnum/api/controllers/root.py -> build/lib/magnum/api/controllers +copying magnum/api/controllers/link.py -> build/lib/magnum/api/controllers +copying magnum/api/controllers/base.py -> build/lib/magnum/api/controllers +copying magnum/api/controllers/__init__.py -> build/lib/magnum/api/controllers creating build/lib/magnum/api/controllers/v1 copying magnum/api/controllers/v1/types.py -> build/lib/magnum/api/controllers/v1 copying magnum/api/controllers/v1/stats.py -> build/lib/magnum/api/controllers/v1 @@ -2849,14 +2802,106 @@ 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/tests/unit/api/utils.py -> build/lib/magnum/tests/unit/api +copying magnum/tests/unit/api/test_validation.py -> build/lib/magnum/tests/unit/api +copying magnum/tests/unit/api/test_servicegroup.py -> build/lib/magnum/tests/unit/api +copying magnum/tests/unit/api/test_hooks.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/test_app.py -> build/lib/magnum/tests/unit/api +copying magnum/tests/unit/api/base.py -> build/lib/magnum/tests/unit/api +copying magnum/tests/unit/api/__init__.py -> build/lib/magnum/tests/unit/api +creating build/lib/magnum/tests/functional/k8s +copying magnum/tests/functional/k8s/test_magnum_python_client.py -> build/lib/magnum/tests/functional/k8s +copying magnum/tests/functional/k8s/test_k8s_python_client.py -> build/lib/magnum/tests/functional/k8s +copying magnum/tests/functional/k8s/__init__.py -> build/lib/magnum/tests/functional/k8s +creating build/lib/magnum/db/sqlalchemy +copying magnum/db/sqlalchemy/models.py -> build/lib/magnum/db/sqlalchemy +copying magnum/db/sqlalchemy/migration.py -> build/lib/magnum/db/sqlalchemy +copying magnum/db/sqlalchemy/api.py -> build/lib/magnum/db/sqlalchemy +copying magnum/db/sqlalchemy/__init__.py -> build/lib/magnum/db/sqlalchemy +creating build/lib/magnum/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/cmd +copying magnum/cmd/status.py -> build/lib/magnum/cmd +copying magnum/cmd/driver_manage.py -> build/lib/magnum/cmd +copying magnum/cmd/db_manage.py -> build/lib/magnum/cmd +copying magnum/cmd/conductor.py -> build/lib/magnum/cmd +copying magnum/cmd/api.py -> build/lib/magnum/cmd +copying magnum/cmd/__init__.py -> build/lib/magnum/cmd +creating build/lib/magnum/tests/unit/conf +copying magnum/tests/unit/conf/test_conf.py -> build/lib/magnum/tests/unit/conf +copying magnum/tests/unit/conf/__init__.py -> build/lib/magnum/tests/unit/conf creating build/lib/magnum/drivers/k8s_fedora_coreos_v1 copying magnum/drivers/k8s_fedora_coreos_v1/version.py -> build/lib/magnum/drivers/k8s_fedora_coreos_v1 copying magnum/drivers/k8s_fedora_coreos_v1/template_def.py -> build/lib/magnum/drivers/k8s_fedora_coreos_v1 copying magnum/drivers/k8s_fedora_coreos_v1/driver.py -> build/lib/magnum/drivers/k8s_fedora_coreos_v1 copying magnum/drivers/k8s_fedora_coreos_v1/__init__.py -> build/lib/magnum/drivers/k8s_fedora_coreos_v1 -creating build/lib/magnum/tests/functional/k8s_fcos -copying magnum/tests/functional/k8s_fcos/test_k8s_python_client.py -> build/lib/magnum/tests/functional/k8s_fcos -copying magnum/tests/functional/k8s_fcos/__init__.py -> build/lib/magnum/tests/functional/k8s_fcos +copying magnum/api/versioned_method.py -> build/lib/magnum/api +copying magnum/api/validation.py -> build/lib/magnum/api +copying magnum/api/utils.py -> build/lib/magnum/api +copying magnum/api/servicegroup.py -> build/lib/magnum/api +copying magnum/api/http_error.py -> build/lib/magnum/api +copying magnum/api/hooks.py -> build/lib/magnum/api +copying magnum/api/expose.py -> build/lib/magnum/api +copying magnum/api/config.py -> build/lib/magnum/api +copying magnum/api/attr_validator.py -> build/lib/magnum/api +copying magnum/api/app.py -> build/lib/magnum/api +copying magnum/api/__init__.py -> build/lib/magnum/api +copying magnum/tests/functional/python_client_base.py -> build/lib/magnum/tests/functional +copying magnum/tests/functional/__init__.py -> build/lib/magnum/tests/functional +creating build/lib/magnum/tests/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/objects +copying magnum/objects/x509keypair.py -> build/lib/magnum/objects +copying magnum/objects/stats.py -> build/lib/magnum/objects +copying magnum/objects/quota.py -> build/lib/magnum/objects +copying magnum/objects/nodegroup.py -> build/lib/magnum/objects +copying magnum/objects/magnum_service.py -> build/lib/magnum/objects +copying magnum/objects/fields.py -> build/lib/magnum/objects +copying magnum/objects/federation.py -> build/lib/magnum/objects +copying magnum/objects/cluster_template.py -> build/lib/magnum/objects +copying magnum/objects/cluster.py -> build/lib/magnum/objects +copying magnum/objects/certificate.py -> build/lib/magnum/objects +copying magnum/objects/base.py -> build/lib/magnum/objects +copying magnum/objects/__init__.py -> build/lib/magnum/objects +copying magnum/version.py -> build/lib/magnum +copying magnum/i18n.py -> build/lib/magnum +copying magnum/__init__.py -> build/lib/magnum +creating build/lib/magnum/tests/unit/conductor/handlers/common +copying magnum/tests/unit/conductor/handlers/common/test_trust_manager.py -> build/lib/magnum/tests/unit/conductor/handlers/common +copying magnum/tests/unit/conductor/handlers/common/test_cert_manager.py -> build/lib/magnum/tests/unit/conductor/handlers/common +copying magnum/tests/unit/conductor/handlers/common/__init__.py -> build/lib/magnum/tests/unit/conductor/handlers/common +copying magnum/tests/unit/api/controllers/test_root.py -> build/lib/magnum/tests/unit/api/controllers +copying magnum/tests/unit/api/controllers/test_base.py -> build/lib/magnum/tests/unit/api/controllers +copying magnum/tests/unit/api/controllers/__init__.py -> build/lib/magnum/tests/unit/api/controllers +creating build/lib/magnum/tests/functional/api/v1/models +copying magnum/tests/functional/api/v1/models/magnum_service_model.py -> build/lib/magnum/tests/functional/api/v1/models +copying magnum/tests/functional/api/v1/models/clusterpatch_model.py -> build/lib/magnum/tests/functional/api/v1/models +copying magnum/tests/functional/api/v1/models/cluster_templatepatch_model.py -> build/lib/magnum/tests/functional/api/v1/models +copying magnum/tests/functional/api/v1/models/cluster_template_model.py -> build/lib/magnum/tests/functional/api/v1/models +copying magnum/tests/functional/api/v1/models/cluster_model.py -> build/lib/magnum/tests/functional/api/v1/models +copying magnum/tests/functional/api/v1/models/cluster_id_model.py -> build/lib/magnum/tests/functional/api/v1/models +copying magnum/tests/functional/api/v1/models/cert_model.py -> build/lib/magnum/tests/functional/api/v1/models +copying magnum/tests/functional/api/v1/models/__init__.py -> build/lib/magnum/tests/functional/api/v1/models +creating build/lib/magnum/tests/unit/drivers +copying magnum/tests/unit/drivers/test_template_definition.py -> build/lib/magnum/tests/unit/drivers +copying magnum/tests/unit/drivers/test_heat_driver.py -> build/lib/magnum/tests/unit/drivers +copying magnum/tests/unit/drivers/__init__.py -> build/lib/magnum/tests/unit/drivers +creating build/lib/magnum/tests/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/tests/functional/common +copying magnum/tests/functional/common/utils.py -> build/lib/magnum/tests/functional/common +copying magnum/tests/functional/common/models.py -> build/lib/magnum/tests/functional/common +copying magnum/tests/functional/common/manager.py -> build/lib/magnum/tests/functional/common +copying magnum/tests/functional/common/datagen.py -> build/lib/magnum/tests/functional/common +copying magnum/tests/functional/common/config.py -> build/lib/magnum/tests/functional/common +copying magnum/tests/functional/common/client.py -> build/lib/magnum/tests/functional/common +copying magnum/tests/functional/common/base.py -> build/lib/magnum/tests/functional/common +copying magnum/tests/functional/common/__init__.py -> build/lib/magnum/tests/functional/common creating build/lib/magnum/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 @@ -2864,18 +2909,9 @@ copying magnum/drivers/heat/k8s_coreos_template_def.py -> build/lib/magnum/drivers/heat copying magnum/drivers/heat/driver.py -> build/lib/magnum/drivers/heat copying magnum/drivers/heat/__init__.py -> build/lib/magnum/drivers/heat -copying magnum/tests/unit/conductor/test_utils.py -> build/lib/magnum/tests/unit/conductor -copying magnum/tests/unit/conductor/test_scale_manager.py -> build/lib/magnum/tests/unit/conductor -copying magnum/tests/unit/conductor/test_rpcapi.py -> build/lib/magnum/tests/unit/conductor -copying magnum/tests/unit/conductor/test_monitors.py -> build/lib/magnum/tests/unit/conductor -copying magnum/tests/unit/conductor/test_k8s_api.py -> build/lib/magnum/tests/unit/conductor -copying magnum/tests/unit/conductor/__init__.py -> build/lib/magnum/tests/unit/conductor -creating build/lib/magnum/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/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/servicegroup +copying magnum/servicegroup/magnum_service_periodic.py -> build/lib/magnum/servicegroup +copying magnum/servicegroup/__init__.py -> build/lib/magnum/servicegroup running egg_info creating magnum.egg-info writing magnum.egg-info/PKG-INFO @@ -3344,10 +3380,78 @@ !! check.warn(importable) -copying magnum/tests/unit/api/controllers/auth-paste.ini -> build/lib/magnum/tests/unit/api/controllers -copying magnum/tests/unit/api/controllers/auth-root-access.ini -> build/lib/magnum/tests/unit/api/controllers -copying magnum/tests/unit/api/controllers/auth-v1-access.ini -> build/lib/magnum/tests/unit/api/controllers -copying magnum/tests/unit/api/controllers/noauth-paste.ini -> build/lib/magnum/tests/unit/api/controllers +creating build/lib/magnum/drivers/common/templates +copying magnum/drivers/common/templates/lb_api.yaml -> build/lib/magnum/drivers/common/templates +copying magnum/drivers/common/templates/lb_etcd.yaml -> build/lib/magnum/drivers/common/templates +copying magnum/drivers/common/templates/network.yaml -> build/lib/magnum/drivers/common/templates +creating build/lib/magnum/drivers/common/templates/environments +copying magnum/drivers/common/templates/environments/disable_floating_ip.yaml -> build/lib/magnum/drivers/common/templates/environments +copying magnum/drivers/common/templates/environments/disable_lb_floating_ip.yaml -> build/lib/magnum/drivers/common/templates/environments +copying magnum/drivers/common/templates/environments/enable_floating_ip.yaml -> build/lib/magnum/drivers/common/templates/environments +copying magnum/drivers/common/templates/environments/enable_lb_floating_ip.yaml -> build/lib/magnum/drivers/common/templates/environments +copying magnum/drivers/common/templates/environments/no_etcd_volume.yaml -> build/lib/magnum/drivers/common/templates/environments +copying magnum/drivers/common/templates/environments/no_master_lb.yaml -> build/lib/magnum/drivers/common/templates/environments +copying magnum/drivers/common/templates/environments/no_private_network.yaml -> build/lib/magnum/drivers/common/templates/environments +copying magnum/drivers/common/templates/environments/no_volume.yaml -> build/lib/magnum/drivers/common/templates/environments +copying magnum/drivers/common/templates/environments/with_etcd_volume.yaml -> build/lib/magnum/drivers/common/templates/environments +copying magnum/drivers/common/templates/environments/with_master_lb.yaml -> build/lib/magnum/drivers/common/templates/environments +copying magnum/drivers/common/templates/environments/with_master_lb_octavia.yaml -> build/lib/magnum/drivers/common/templates/environments +copying magnum/drivers/common/templates/environments/with_private_network.yaml -> build/lib/magnum/drivers/common/templates/environments +copying magnum/drivers/common/templates/environments/with_volume.yaml -> build/lib/magnum/drivers/common/templates/environments +creating build/lib/magnum/drivers/common/templates/fragments +copying magnum/drivers/common/templates/fragments/api_gateway_switcher_master.yaml -> build/lib/magnum/drivers/common/templates/fragments +copying magnum/drivers/common/templates/fragments/api_gateway_switcher_pool.yaml -> build/lib/magnum/drivers/common/templates/fragments +copying magnum/drivers/common/templates/fragments/atomic-install-openstack-ca.sh -> build/lib/magnum/drivers/common/templates/fragments +copying magnum/drivers/common/templates/fragments/configure-docker-registry.sh -> build/lib/magnum/drivers/common/templates/fragments +copying magnum/drivers/common/templates/fragments/configure-docker-storage.sh -> build/lib/magnum/drivers/common/templates/fragments +copying magnum/drivers/common/templates/fragments/configure_docker_storage_driver_fedora_coreos.sh -> build/lib/magnum/drivers/common/templates/fragments +copying magnum/drivers/common/templates/fragments/enable-docker-registry.sh -> build/lib/magnum/drivers/common/templates/fragments +copying magnum/drivers/common/templates/fragments/floating_ip_address_switcher_private.yaml -> build/lib/magnum/drivers/common/templates/fragments +copying magnum/drivers/common/templates/fragments/floating_ip_address_switcher_public.yaml -> build/lib/magnum/drivers/common/templates/fragments +copying magnum/drivers/common/templates/fragments/network_switcher_existing.yaml -> build/lib/magnum/drivers/common/templates/fragments +copying magnum/drivers/common/templates/fragments/network_switcher_private.yaml -> build/lib/magnum/drivers/common/templates/fragments +creating build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/add-proxy.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/calico-service-v3-21-x.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/calico-service-v3-26-x.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/configure-etcd.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/configure-kubernetes-master.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/configure-kubernetes-minion.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/core-dns-service.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/disable-selinux.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/enable-auto-healing.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/enable-auto-scaling.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/enable-cert-api-manager.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/enable-cinder-csi.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/enable-ingress-controller.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/enable-ingress-octavia.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/enable-ingress-traefik.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/enable-keystone-auth.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/enable-prometheus-monitoring.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/enable-services-master.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/enable-services-minion.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/flannel-service.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/install-clients.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/install-cri.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/install-helm-modules.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/install-helm.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/kube-apiserver-to-kubelet-role.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/kube-dashboard-service.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/make-cert-client.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/make-cert.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/rotate-kubernetes-ca-certs-master.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/rotate-kubernetes-ca-certs-worker.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/start-container-agent.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/upgrade-kubernetes.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/wc-notify-master.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/write-heat-params-master.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/write-heat-params.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/write-kube-os-config.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +creating build/lib/magnum/drivers/common/templates/kubernetes/helm +copying magnum/drivers/common/templates/kubernetes/helm/ingress-nginx.sh -> build/lib/magnum/drivers/common/templates/kubernetes/helm +copying magnum/drivers/common/templates/kubernetes/helm/metrics-server.sh -> build/lib/magnum/drivers/common/templates/kubernetes/helm +copying magnum/drivers/common/templates/kubernetes/helm/prometheus-adapter.sh -> build/lib/magnum/drivers/common/templates/kubernetes/helm +copying magnum/drivers/common/templates/kubernetes/helm/prometheus-operator.sh -> build/lib/magnum/drivers/common/templates/kubernetes/helm 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 @@ -3435,81 +3539,6 @@ 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 -copying magnum/api/rest_api_version_history.rst -> build/lib/magnum/api -creating build/lib/magnum/wsgi -copying magnum/wsgi/api.py -> build/lib/magnum/wsgi -creating build/lib/magnum/drivers/common/templates -copying magnum/drivers/common/templates/lb_api.yaml -> build/lib/magnum/drivers/common/templates -copying magnum/drivers/common/templates/lb_etcd.yaml -> build/lib/magnum/drivers/common/templates -copying magnum/drivers/common/templates/network.yaml -> build/lib/magnum/drivers/common/templates -creating build/lib/magnum/drivers/common/templates/environments -copying magnum/drivers/common/templates/environments/disable_floating_ip.yaml -> build/lib/magnum/drivers/common/templates/environments -copying magnum/drivers/common/templates/environments/disable_lb_floating_ip.yaml -> build/lib/magnum/drivers/common/templates/environments -copying magnum/drivers/common/templates/environments/enable_floating_ip.yaml -> build/lib/magnum/drivers/common/templates/environments -copying magnum/drivers/common/templates/environments/enable_lb_floating_ip.yaml -> build/lib/magnum/drivers/common/templates/environments -copying magnum/drivers/common/templates/environments/no_etcd_volume.yaml -> build/lib/magnum/drivers/common/templates/environments -copying magnum/drivers/common/templates/environments/no_master_lb.yaml -> build/lib/magnum/drivers/common/templates/environments -copying magnum/drivers/common/templates/environments/no_private_network.yaml -> build/lib/magnum/drivers/common/templates/environments -copying magnum/drivers/common/templates/environments/no_volume.yaml -> build/lib/magnum/drivers/common/templates/environments -copying magnum/drivers/common/templates/environments/with_etcd_volume.yaml -> build/lib/magnum/drivers/common/templates/environments -copying magnum/drivers/common/templates/environments/with_master_lb.yaml -> build/lib/magnum/drivers/common/templates/environments -copying magnum/drivers/common/templates/environments/with_master_lb_octavia.yaml -> build/lib/magnum/drivers/common/templates/environments -copying magnum/drivers/common/templates/environments/with_private_network.yaml -> build/lib/magnum/drivers/common/templates/environments -copying magnum/drivers/common/templates/environments/with_volume.yaml -> build/lib/magnum/drivers/common/templates/environments -creating build/lib/magnum/drivers/common/templates/fragments -copying magnum/drivers/common/templates/fragments/api_gateway_switcher_master.yaml -> build/lib/magnum/drivers/common/templates/fragments -copying magnum/drivers/common/templates/fragments/api_gateway_switcher_pool.yaml -> build/lib/magnum/drivers/common/templates/fragments -copying magnum/drivers/common/templates/fragments/atomic-install-openstack-ca.sh -> build/lib/magnum/drivers/common/templates/fragments -copying magnum/drivers/common/templates/fragments/configure-docker-registry.sh -> build/lib/magnum/drivers/common/templates/fragments -copying magnum/drivers/common/templates/fragments/configure-docker-storage.sh -> build/lib/magnum/drivers/common/templates/fragments -copying magnum/drivers/common/templates/fragments/configure_docker_storage_driver_fedora_coreos.sh -> build/lib/magnum/drivers/common/templates/fragments -copying magnum/drivers/common/templates/fragments/enable-docker-registry.sh -> build/lib/magnum/drivers/common/templates/fragments -copying magnum/drivers/common/templates/fragments/floating_ip_address_switcher_private.yaml -> build/lib/magnum/drivers/common/templates/fragments -copying magnum/drivers/common/templates/fragments/floating_ip_address_switcher_public.yaml -> build/lib/magnum/drivers/common/templates/fragments -copying magnum/drivers/common/templates/fragments/network_switcher_existing.yaml -> build/lib/magnum/drivers/common/templates/fragments -copying magnum/drivers/common/templates/fragments/network_switcher_private.yaml -> build/lib/magnum/drivers/common/templates/fragments -creating build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/add-proxy.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/calico-service-v3-21-x.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/calico-service-v3-26-x.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/configure-etcd.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/configure-kubernetes-master.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/configure-kubernetes-minion.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/core-dns-service.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/disable-selinux.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/enable-auto-healing.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/enable-auto-scaling.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/enable-cert-api-manager.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/enable-cinder-csi.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/enable-ingress-controller.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/enable-ingress-octavia.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/enable-ingress-traefik.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/enable-keystone-auth.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/enable-prometheus-monitoring.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/enable-services-master.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/enable-services-minion.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/flannel-service.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/install-clients.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/install-cri.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/install-helm-modules.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/install-helm.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/kube-apiserver-to-kubelet-role.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/kube-dashboard-service.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/make-cert-client.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/make-cert.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/rotate-kubernetes-ca-certs-master.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/rotate-kubernetes-ca-certs-worker.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/start-container-agent.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/upgrade-kubernetes.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/wc-notify-master.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/write-heat-params-master.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/write-heat-params.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/write-kube-os-config.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -creating build/lib/magnum/drivers/common/templates/kubernetes/helm -copying magnum/drivers/common/templates/kubernetes/helm/ingress-nginx.sh -> build/lib/magnum/drivers/common/templates/kubernetes/helm -copying magnum/drivers/common/templates/kubernetes/helm/metrics-server.sh -> build/lib/magnum/drivers/common/templates/kubernetes/helm -copying magnum/drivers/common/templates/kubernetes/helm/prometheus-adapter.sh -> build/lib/magnum/drivers/common/templates/kubernetes/helm -copying magnum/drivers/common/templates/kubernetes/helm/prometheus-operator.sh -> build/lib/magnum/drivers/common/templates/kubernetes/helm 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 @@ -3517,11 +3546,21 @@ 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/api/rest_api_version_history.rst -> build/lib/magnum/api +creating build/lib/magnum/wsgi +copying magnum/wsgi/api.py -> build/lib/magnum/wsgi +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-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/wsgi copying build/lib/magnum/wsgi/api.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/wsgi +creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/servicegroup +copying build/lib/magnum/servicegroup/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/servicegroup +copying build/lib/magnum/servicegroup/magnum_service_periodic.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/servicegroup copying build/lib/magnum/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum copying build/lib/magnum/i18n.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum copying build/lib/magnum/version.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum @@ -3538,6 +3577,56 @@ copying build/lib/magnum/objects/quota.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/objects copying build/lib/magnum/objects/stats.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/objects copying build/lib/magnum/objects/x509keypair.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/objects +creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd +copying build/lib/magnum/cmd/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd +copying build/lib/magnum/cmd/api.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd +copying build/lib/magnum/cmd/conductor.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd +copying build/lib/magnum/cmd/db_manage.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd +copying build/lib/magnum/cmd/driver_manage.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd +copying build/lib/magnum/cmd/status.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd +creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking +copying build/lib/magnum/hacking/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking +copying build/lib/magnum/hacking/checks.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking +creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/rest_api_version_history.rst -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/app.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/attr_validator.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/config.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/expose.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/hooks.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/http_error.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/servicegroup.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/utils.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/validation.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/versioned_method.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api +creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers +creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/certificate.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/cluster.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/cluster_actions.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/cluster_template.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/collection.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/credential.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/federation.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/magnum_services.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/nodegroup.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/quota.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/stats.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/types.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers +copying build/lib/magnum/api/controllers/base.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers +copying build/lib/magnum/api/controllers/link.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers +copying build/lib/magnum/api/controllers/root.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers +copying build/lib/magnum/api/controllers/versions.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers +creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware +copying build/lib/magnum/api/middleware/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware +copying build/lib/magnum/api/middleware/auth_token.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware +copying build/lib/magnum/api/middleware/parsable_error.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware +creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/service +copying build/lib/magnum/service/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/service +copying build/lib/magnum/service/periodic.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/service creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat copying build/lib/magnum/drivers/heat/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat @@ -3558,6 +3647,7 @@ copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/driver.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1 copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/template_def.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1 copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/version.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1 +copying build/lib/magnum/drivers/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes @@ -3636,131 +3726,6 @@ copying build/lib/magnum/drivers/common/driver.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common copying build/lib/magnum/drivers/common/k8s_monitor.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common copying build/lib/magnum/drivers/common/k8s_scale_manager.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common -copying build/lib/magnum/drivers/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers -creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/servicegroup -copying build/lib/magnum/servicegroup/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/servicegroup -copying build/lib/magnum/servicegroup/magnum_service_periodic.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/servicegroup -creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common -creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/base.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/certificate.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/cluster.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/cluster_template.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/credential.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/federation.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/magnum_service.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/nodegroup.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/quota.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/stats.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/cinder.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/clients.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/config.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/context.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/exception.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/keystone.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/name_generator.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/neutron.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/nova.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/octavia.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/policy.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/profiler.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/rpc.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/rpc_service.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/service.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/short_id.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/urlfetch.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common -copying build/lib/magnum/common/utils.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common -creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509 -copying build/lib/magnum/common/x509/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509 -copying build/lib/magnum/common/x509/extensions.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509 -copying build/lib/magnum/common/x509/operations.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509 -copying build/lib/magnum/common/x509/validator.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509 -creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager -copying build/lib/magnum/common/cert_manager/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager -copying build/lib/magnum/common/cert_manager/barbican_cert_manager.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager -copying build/lib/magnum/common/cert_manager/cert_manager.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager -copying build/lib/magnum/common/cert_manager/local_cert_manager.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager -copying build/lib/magnum/common/cert_manager/x509keypair_cert_manager.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager -creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/rest_api_version_history.rst -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/app.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/attr_validator.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/config.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/expose.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/hooks.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/http_error.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/servicegroup.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/utils.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/validation.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/versioned_method.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api -creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware -copying build/lib/magnum/api/middleware/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware -copying build/lib/magnum/api/middleware/auth_token.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware -copying build/lib/magnum/api/middleware/parsable_error.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware -creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers -creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/certificate.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/cluster.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/cluster_actions.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/cluster_template.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/collection.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/credential.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/federation.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/magnum_services.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/nodegroup.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/quota.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/stats.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/types.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers -copying build/lib/magnum/api/controllers/base.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers -copying build/lib/magnum/api/controllers/link.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers -copying build/lib/magnum/api/controllers/root.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers -copying build/lib/magnum/api/controllers/versions.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers -creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking -copying build/lib/magnum/hacking/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking -copying build/lib/magnum/hacking/checks.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking -creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/api.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/barbican.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/certificates.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/cinder.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/cluster.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/cluster_heat.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/cluster_templates.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/conductor.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/database.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/docker_registry.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/drivers.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/glance.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/heat.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/keystone.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/kubernetes.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/magnum_client.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/neutron.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/nova.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/octavia.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/opts.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/paths.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/profiler.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/quota.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/rpc.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/services.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/trust.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/utils.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/x509.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -copying build/lib/magnum/conf/docker.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf -creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd -copying build/lib/magnum/cmd/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd -copying build/lib/magnum/cmd/api.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd -copying build/lib/magnum/cmd/conductor.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd -copying build/lib/magnum/cmd/db_manage.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd -copying build/lib/magnum/cmd/driver_manage.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd -copying build/lib/magnum/cmd/status.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/db creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic @@ -3851,6 +3816,103 @@ copying build/lib/magnum/db/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/db copying build/lib/magnum/db/api.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/db copying build/lib/magnum/db/migration.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/db +creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common +creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509 +copying build/lib/magnum/common/x509/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509 +copying build/lib/magnum/common/x509/extensions.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509 +copying build/lib/magnum/common/x509/operations.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509 +copying build/lib/magnum/common/x509/validator.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509 +creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager +copying build/lib/magnum/common/cert_manager/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager +copying build/lib/magnum/common/cert_manager/barbican_cert_manager.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager +copying build/lib/magnum/common/cert_manager/cert_manager.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager +copying build/lib/magnum/common/cert_manager/local_cert_manager.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager +copying build/lib/magnum/common/cert_manager/x509keypair_cert_manager.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager +creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/base.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/certificate.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/cluster.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/cluster_template.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/credential.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/federation.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/magnum_service.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/nodegroup.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/quota.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/stats.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/cinder.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/clients.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/config.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/context.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/exception.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/keystone.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/name_generator.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/neutron.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/nova.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/octavia.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/policy.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/profiler.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/rpc.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/rpc_service.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/service.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/short_id.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/urlfetch.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common +copying build/lib/magnum/common/utils.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common +creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor +copying build/lib/magnum/conductor/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor +copying build/lib/magnum/conductor/api.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor +copying build/lib/magnum/conductor/k8s_api.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor +copying build/lib/magnum/conductor/monitors.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor +copying build/lib/magnum/conductor/scale_manager.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor +copying build/lib/magnum/conductor/utils.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor +creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks +copying build/lib/magnum/conductor/tasks/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks +copying build/lib/magnum/conductor/tasks/heat_tasks.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks +creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers +creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common +copying build/lib/magnum/conductor/handlers/common/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common +copying build/lib/magnum/conductor/handlers/common/cert_manager.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common +copying build/lib/magnum/conductor/handlers/common/trust_manager.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common +copying build/lib/magnum/conductor/handlers/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers +copying build/lib/magnum/conductor/handlers/ca_conductor.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers +copying build/lib/magnum/conductor/handlers/cluster_conductor.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers +copying build/lib/magnum/conductor/handlers/conductor_listener.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers +copying build/lib/magnum/conductor/handlers/credential_conductor.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers +copying build/lib/magnum/conductor/handlers/federation_conductor.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers +copying build/lib/magnum/conductor/handlers/indirection_api.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers +copying build/lib/magnum/conductor/handlers/nodegroup_conductor.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers +creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/api.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/barbican.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/certificates.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/cinder.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/cluster.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/cluster_heat.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/cluster_templates.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/conductor.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/database.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/docker_registry.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/drivers.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/glance.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/heat.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/keystone.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/kubernetes.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/magnum_client.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/neutron.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/nova.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/octavia.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/opts.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/paths.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/profiler.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/quota.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/rpc.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/services.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/trust.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/utils.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/x509.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +copying build/lib/magnum/conf/docker.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/releasenotes creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/releasenotes/notes @@ -3868,9 +3930,6 @@ copying build/lib/magnum/tests/policy_fixture.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests copying build/lib/magnum/tests/utils.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional -creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_fcos -copying build/lib/magnum/tests/functional/k8s_fcos/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_fcos -copying build/lib/magnum/tests/functional/k8s_fcos/test_k8s_python_client.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_fcos creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common copying build/lib/magnum/tests/functional/common/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common copying build/lib/magnum/tests/functional/common/base.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common @@ -3880,21 +3939,22 @@ copying build/lib/magnum/tests/functional/common/manager.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common copying build/lib/magnum/tests/functional/common/models.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common copying build/lib/magnum/tests/functional/common/utils.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common +creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_ironic +copying build/lib/magnum/tests/functional/k8s_ironic/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_ironic +copying build/lib/magnum/tests/functional/k8s_ironic/test_k8s_python_client.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_ironic +copying build/lib/magnum/tests/functional/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional +copying build/lib/magnum/tests/functional/python_client_base.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s copying build/lib/magnum/tests/functional/k8s/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s copying build/lib/magnum/tests/functional/k8s/test_k8s_python_client.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s copying build/lib/magnum/tests/functional/k8s/test_magnum_python_client.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s +creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_fcos +copying build/lib/magnum/tests/functional/k8s_fcos/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_fcos +copying build/lib/magnum/tests/functional/k8s_fcos/test_k8s_python_client.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_fcos creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api copying build/lib/magnum/tests/functional/api/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api copying build/lib/magnum/tests/functional/api/base.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1 -copying build/lib/magnum/tests/functional/api/v1/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1 -creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients -copying build/lib/magnum/tests/functional/api/v1/clients/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients -copying build/lib/magnum/tests/functional/api/v1/clients/cert_client.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients -copying build/lib/magnum/tests/functional/api/v1/clients/cluster_client.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients -copying build/lib/magnum/tests/functional/api/v1/clients/cluster_template_client.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients -copying build/lib/magnum/tests/functional/api/v1/clients/magnum_service_client.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models copying build/lib/magnum/tests/functional/api/v1/models/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models copying build/lib/magnum/tests/functional/api/v1/models/cert_model.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models @@ -3904,61 +3964,38 @@ copying build/lib/magnum/tests/functional/api/v1/models/cluster_templatepatch_model.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models copying build/lib/magnum/tests/functional/api/v1/models/clusterpatch_model.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models copying build/lib/magnum/tests/functional/api/v1/models/magnum_service_model.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models -copying build/lib/magnum/tests/functional/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional -copying build/lib/magnum/tests/functional/python_client_base.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional -creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_ironic -copying build/lib/magnum/tests/functional/k8s_ironic/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_ironic -copying build/lib/magnum/tests/functional/k8s_ironic/test_k8s_python_client.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_ironic +copying build/lib/magnum/tests/functional/api/v1/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1 +creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients +copying build/lib/magnum/tests/functional/api/v1/clients/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients +copying build/lib/magnum/tests/functional/api/v1/clients/cert_client.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients +copying build/lib/magnum/tests/functional/api/v1/clients/cluster_client.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients +copying build/lib/magnum/tests/functional/api/v1/clients/cluster_template_client.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients +copying build/lib/magnum/tests/functional/api/v1/clients/magnum_service_client.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit -creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/servicegroup -copying build/lib/magnum/tests/unit/servicegroup/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/servicegroup -copying build/lib/magnum/tests/unit/servicegroup/test_magnum_service.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/servicegroup -creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/template -copying build/lib/magnum/tests/unit/template/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/template -copying build/lib/magnum/tests/unit/template/test_template.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/template -copying build/lib/magnum/tests/unit/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit -copying build/lib/magnum/tests/unit/test_hacking.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit +creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers +copying build/lib/magnum/tests/unit/drivers/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers +copying build/lib/magnum/tests/unit/drivers/test_heat_driver.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers +copying build/lib/magnum/tests/unit/drivers/test_template_definition.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conf copying build/lib/magnum/tests/unit/conf/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conf copying build/lib/magnum/tests/unit/conf/test_conf.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conf -creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common -creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies -copying build/lib/magnum/tests/unit/common/policies/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies -copying build/lib/magnum/tests/unit/common/policies/base.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies -copying build/lib/magnum/tests/unit/common/policies/test_certificate_policy.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies -copying build/lib/magnum/tests/unit/common/policies/test_cluster_policy.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies -copying build/lib/magnum/tests/unit/common/policies/test_cluster_template_policy.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies -copying build/lib/magnum/tests/unit/common/policies/test_federation_policy.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies -copying build/lib/magnum/tests/unit/common/policies/test_magnum_service_policy.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies -copying build/lib/magnum/tests/unit/common/policies/test_nodegroup_policy.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies -copying build/lib/magnum/tests/unit/common/policies/test_quota_policy.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies -copying build/lib/magnum/tests/unit/common/policies/test_stats_policy.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies -copying build/lib/magnum/tests/unit/common/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common -copying build/lib/magnum/tests/unit/common/test_clients.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common -copying build/lib/magnum/tests/unit/common/test_context.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common -copying build/lib/magnum/tests/unit/common/test_exception.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common -copying build/lib/magnum/tests/unit/common/test_keystone.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common -copying build/lib/magnum/tests/unit/common/test_neutron.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common -copying build/lib/magnum/tests/unit/common/test_octavia.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common -copying build/lib/magnum/tests/unit/common/test_policy.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common -copying build/lib/magnum/tests/unit/common/test_profiler.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common -copying build/lib/magnum/tests/unit/common/test_rpc.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common -copying build/lib/magnum/tests/unit/common/test_service.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common -copying build/lib/magnum/tests/unit/common/test_short_id.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common -copying build/lib/magnum/tests/unit/common/test_urlfetch.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common -copying build/lib/magnum/tests/unit/common/test_utils.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common -creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager -copying build/lib/magnum/tests/unit/common/cert_manager/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager -copying build/lib/magnum/tests/unit/common/cert_manager/test_barbican.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager -copying build/lib/magnum/tests/unit/common/cert_manager/test_cert_manager.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager -copying build/lib/magnum/tests/unit/common/cert_manager/test_local.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager -copying build/lib/magnum/tests/unit/common/cert_manager/test_x509keypair_cert_manager.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager -creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509 -copying build/lib/magnum/tests/unit/common/x509/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509 -copying build/lib/magnum/tests/unit/common/x509/test_operations.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509 -copying build/lib/magnum/tests/unit/common/x509/test_sign.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509 -copying build/lib/magnum/tests/unit/common/x509/test_validator.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509 +creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/template +copying build/lib/magnum/tests/unit/template/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/template +copying build/lib/magnum/tests/unit/template/test_template.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/template +creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/service +copying build/lib/magnum/tests/unit/service/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/service +copying build/lib/magnum/tests/unit/service/test_periodic.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/service +creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd +copying build/lib/magnum/tests/unit/cmd/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd +copying build/lib/magnum/tests/unit/cmd/test_api.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd +copying build/lib/magnum/tests/unit/cmd/test_conductor.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd +copying build/lib/magnum/tests/unit/cmd/test_db_manage.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd +copying build/lib/magnum/tests/unit/cmd/test_driver_manage.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd +copying build/lib/magnum/tests/unit/cmd/test_status.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db +creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/sqlalchemy +copying build/lib/magnum/tests/unit/db/sqlalchemy/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/sqlalchemy +copying build/lib/magnum/tests/unit/db/sqlalchemy/test_types.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/sqlalchemy copying build/lib/magnum/tests/unit/db/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db copying build/lib/magnum/tests/unit/db/base.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db copying build/lib/magnum/tests/unit/db/test_cluster.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db @@ -3969,9 +4006,8 @@ copying build/lib/magnum/tests/unit/db/test_quota.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db copying build/lib/magnum/tests/unit/db/test_x509keypair.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db copying build/lib/magnum/tests/unit/db/utils.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db -creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/sqlalchemy -copying build/lib/magnum/tests/unit/db/sqlalchemy/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/sqlalchemy -copying build/lib/magnum/tests/unit/db/sqlalchemy/test_types.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/sqlalchemy +copying build/lib/magnum/tests/unit/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit +copying build/lib/magnum/tests/unit/test_hacking.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api copying build/lib/magnum/tests/unit/api/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api copying build/lib/magnum/tests/unit/api/base.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api @@ -3987,6 +4023,9 @@ copying build/lib/magnum/tests/unit/api/controllers/auth-v1-access.ini -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers copying build/lib/magnum/tests/unit/api/controllers/auth-root-access.ini -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers copying build/lib/magnum/tests/unit/api/controllers/auth-paste.ini -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers +copying build/lib/magnum/tests/unit/api/controllers/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers +copying build/lib/magnum/tests/unit/api/controllers/test_base.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers +copying build/lib/magnum/tests/unit/api/controllers/test_root.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 copying build/lib/magnum/tests/unit/api/controllers/v1/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 copying build/lib/magnum/tests/unit/api/controllers/v1/test_certificate.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 @@ -4001,9 +4040,20 @@ copying build/lib/magnum/tests/unit/api/controllers/v1/test_stats.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 copying build/lib/magnum/tests/unit/api/controllers/v1/test_types.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 copying build/lib/magnum/tests/unit/api/controllers/v1/test_utils.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 -copying build/lib/magnum/tests/unit/api/controllers/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers -copying build/lib/magnum/tests/unit/api/controllers/test_base.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers -copying build/lib/magnum/tests/unit/api/controllers/test_root.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers +creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects +copying build/lib/magnum/tests/unit/objects/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects +copying build/lib/magnum/tests/unit/objects/test_cluster.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects +copying build/lib/magnum/tests/unit/objects/test_cluster_template.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects +copying build/lib/magnum/tests/unit/objects/test_federation.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects +copying build/lib/magnum/tests/unit/objects/test_fields.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects +copying build/lib/magnum/tests/unit/objects/test_magnum_service.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects +copying build/lib/magnum/tests/unit/objects/test_nodegroup.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects +copying build/lib/magnum/tests/unit/objects/test_objects.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects +copying build/lib/magnum/tests/unit/objects/test_x509keypair.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects +copying build/lib/magnum/tests/unit/objects/utils.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects +creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/servicegroup +copying build/lib/magnum/tests/unit/servicegroup/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/servicegroup +copying build/lib/magnum/tests/unit/servicegroup/test_magnum_service.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/servicegroup creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/tasks copying build/lib/magnum/tests/unit/conductor/tasks/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/tasks @@ -4015,6 +4065,10 @@ copying build/lib/magnum/tests/unit/conductor/test_scale_manager.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor copying build/lib/magnum/tests/unit/conductor/test_utils.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers +creating /build/reproducible-path/magnum-21.0.0~rc1/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-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common +copying build/lib/magnum/tests/unit/conductor/handlers/common/test_cert_manager.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common +copying build/lib/magnum/tests/unit/conductor/handlers/common/test_trust_manager.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common copying build/lib/magnum/tests/unit/conductor/handlers/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers copying build/lib/magnum/tests/unit/conductor/handlers/test_ca_conductor.py -> /build/reproducible-path/magnum-21.0.0~rc1/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-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers @@ -4023,62 +4077,46 @@ copying build/lib/magnum/tests/unit/conductor/handlers/test_indirection_api.py -> /build/reproducible-path/magnum-21.0.0~rc1/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-21.0.0~rc1/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-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers -creating /build/reproducible-path/magnum-21.0.0~rc1/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-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common -copying build/lib/magnum/tests/unit/conductor/handlers/common/test_cert_manager.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common -copying build/lib/magnum/tests/unit/conductor/handlers/common/test_trust_manager.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common -creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers -copying build/lib/magnum/tests/unit/drivers/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers -copying build/lib/magnum/tests/unit/drivers/test_heat_driver.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers -copying build/lib/magnum/tests/unit/drivers/test_template_definition.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers -creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects -copying build/lib/magnum/tests/unit/objects/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects -copying build/lib/magnum/tests/unit/objects/test_cluster.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects -copying build/lib/magnum/tests/unit/objects/test_cluster_template.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects -copying build/lib/magnum/tests/unit/objects/test_federation.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects -copying build/lib/magnum/tests/unit/objects/test_fields.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects -copying build/lib/magnum/tests/unit/objects/test_magnum_service.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects -copying build/lib/magnum/tests/unit/objects/test_nodegroup.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects -copying build/lib/magnum/tests/unit/objects/test_objects.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects -copying build/lib/magnum/tests/unit/objects/test_x509keypair.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects -copying build/lib/magnum/tests/unit/objects/utils.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects -creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/service -copying build/lib/magnum/tests/unit/service/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/service -copying build/lib/magnum/tests/unit/service/test_periodic.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/service -creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd -copying build/lib/magnum/tests/unit/cmd/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd -copying build/lib/magnum/tests/unit/cmd/test_api.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd -copying build/lib/magnum/tests/unit/cmd/test_conductor.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd -copying build/lib/magnum/tests/unit/cmd/test_db_manage.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd -copying build/lib/magnum/tests/unit/cmd/test_driver_manage.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd -copying build/lib/magnum/tests/unit/cmd/test_status.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd -creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/service -copying build/lib/magnum/service/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/service -copying build/lib/magnum/service/periodic.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/service -creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor -creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks -copying build/lib/magnum/conductor/tasks/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks -copying build/lib/magnum/conductor/tasks/heat_tasks.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks -creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers -creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common -copying build/lib/magnum/conductor/handlers/common/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common -copying build/lib/magnum/conductor/handlers/common/cert_manager.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common -copying build/lib/magnum/conductor/handlers/common/trust_manager.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common -copying build/lib/magnum/conductor/handlers/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers -copying build/lib/magnum/conductor/handlers/ca_conductor.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers -copying build/lib/magnum/conductor/handlers/cluster_conductor.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers -copying build/lib/magnum/conductor/handlers/conductor_listener.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers -copying build/lib/magnum/conductor/handlers/credential_conductor.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers -copying build/lib/magnum/conductor/handlers/federation_conductor.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers -copying build/lib/magnum/conductor/handlers/indirection_api.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers -copying build/lib/magnum/conductor/handlers/nodegroup_conductor.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers -copying build/lib/magnum/conductor/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor -copying build/lib/magnum/conductor/api.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor -copying build/lib/magnum/conductor/k8s_api.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor -copying build/lib/magnum/conductor/monitors.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor -copying build/lib/magnum/conductor/scale_manager.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor -copying build/lib/magnum/conductor/utils.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor +creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common +copying build/lib/magnum/tests/unit/common/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common +copying build/lib/magnum/tests/unit/common/test_clients.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common +copying build/lib/magnum/tests/unit/common/test_context.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common +copying build/lib/magnum/tests/unit/common/test_exception.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common +copying build/lib/magnum/tests/unit/common/test_keystone.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common +copying build/lib/magnum/tests/unit/common/test_neutron.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common +copying build/lib/magnum/tests/unit/common/test_octavia.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common +copying build/lib/magnum/tests/unit/common/test_policy.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common +copying build/lib/magnum/tests/unit/common/test_profiler.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common +copying build/lib/magnum/tests/unit/common/test_rpc.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common +copying build/lib/magnum/tests/unit/common/test_service.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common +copying build/lib/magnum/tests/unit/common/test_short_id.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common +copying build/lib/magnum/tests/unit/common/test_urlfetch.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common +copying build/lib/magnum/tests/unit/common/test_utils.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common +creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509 +copying build/lib/magnum/tests/unit/common/x509/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509 +copying build/lib/magnum/tests/unit/common/x509/test_operations.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509 +copying build/lib/magnum/tests/unit/common/x509/test_sign.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509 +copying build/lib/magnum/tests/unit/common/x509/test_validator.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509 +creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager +copying build/lib/magnum/tests/unit/common/cert_manager/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager +copying build/lib/magnum/tests/unit/common/cert_manager/test_barbican.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager +copying build/lib/magnum/tests/unit/common/cert_manager/test_cert_manager.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager +copying build/lib/magnum/tests/unit/common/cert_manager/test_local.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager +copying build/lib/magnum/tests/unit/common/cert_manager/test_x509keypair_cert_manager.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager +creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies +copying build/lib/magnum/tests/unit/common/policies/__init__.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies +copying build/lib/magnum/tests/unit/common/policies/base.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies +copying build/lib/magnum/tests/unit/common/policies/test_certificate_policy.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies +copying build/lib/magnum/tests/unit/common/policies/test_cluster_policy.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies +copying build/lib/magnum/tests/unit/common/policies/test_cluster_template_policy.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies +copying build/lib/magnum/tests/unit/common/policies/test_federation_policy.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies +copying build/lib/magnum/tests/unit/common/policies/test_magnum_service_policy.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies +copying build/lib/magnum/tests/unit/common/policies/test_nodegroup_policy.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies +copying build/lib/magnum/tests/unit/common/policies/test_quota_policy.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies +copying build/lib/magnum/tests/unit/common/policies/test_stats_policy.py -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/wsgi/api.py to api.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/servicegroup/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/servicegroup/magnum_service_periodic.py to magnum_service_periodic.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/i18n.py to i18n.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/version.py to version.cpython-313.pyc @@ -4094,62 +4132,14 @@ byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/quota.py to quota.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/stats.py to stats.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/x509keypair.py to x509keypair.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/driver.py to driver.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/k8s_coreos_template_def.py to k8s_coreos_template_def.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/k8s_fedora_template_def.py to k8s_fedora_template_def.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/k8s_template_def.py to k8s_template_def.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/template_def.py to template_def.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/driver.py to driver.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/template_def.py to template_def.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/version.py to version.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/driver.py to driver.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/k8s_monitor.py to k8s_monitor.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/k8s_scale_manager.py to k8s_scale_manager.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/servicegroup/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/servicegroup/magnum_service_periodic.py to magnum_service_periodic.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/base.py to base.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/certificate.py to certificate.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/cluster.py to cluster.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/cluster_template.py to cluster_template.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/credential.py to credential.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/federation.py to federation.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/magnum_service.py to magnum_service.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/nodegroup.py to nodegroup.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/quota.py to quota.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/stats.py to stats.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cinder.py to cinder.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/clients.py to clients.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/config.py to config.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/context.py to context.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/exception.py to exception.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/keystone.py to keystone.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/name_generator.py to name_generator.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/neutron.py to neutron.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/nova.py to nova.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/octavia.py to octavia.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policy.py to policy.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/profiler.py to profiler.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/rpc.py to rpc.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/rpc_service.py to rpc_service.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/service.py to service.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/short_id.py to short_id.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/urlfetch.py to urlfetch.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/utils.py to utils.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509/extensions.py to extensions.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509/operations.py to operations.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509/validator.py to validator.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/barbican_cert_manager.py to barbican_cert_manager.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/cert_manager.py to cert_manager.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/local_cert_manager.py to local_cert_manager.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/x509keypair_cert_manager.py to x509keypair_cert_manager.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/api.py to api.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/conductor.py to conductor.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/db_manage.py to db_manage.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/driver_manage.py to driver_manage.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/status.py to status.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking/checks.py to checks.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/app.py to app.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/attr_validator.py to attr_validator.cpython-313.pyc @@ -4161,9 +4151,6 @@ byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/utils.py to utils.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/validation.py to validation.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/versioned_method.py to versioned_method.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware/auth_token.py to auth_token.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware/parsable_error.py to parsable_error.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/certificate.py to certificate.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/cluster.py to cluster.cpython-313.pyc @@ -4182,44 +4169,26 @@ byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/link.py to link.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/root.py to root.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/versions.py to versions.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking/checks.py to checks.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/api.py to api.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/barbican.py to barbican.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/certificates.py to certificates.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/cinder.py to cinder.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/cluster.py to cluster.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/cluster_heat.py to cluster_heat.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/cluster_templates.py to cluster_templates.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/conductor.py to conductor.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/database.py to database.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/docker_registry.py to docker_registry.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/drivers.py to drivers.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/glance.py to glance.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/heat.py to heat.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/keystone.py to keystone.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/kubernetes.py to kubernetes.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/magnum_client.py to magnum_client.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/neutron.py to neutron.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/nova.py to nova.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/octavia.py to octavia.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/opts.py to opts.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/paths.py to paths.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/profiler.py to profiler.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/quota.py to quota.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/rpc.py to rpc.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/services.py to services.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/trust.py to trust.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/utils.py to utils.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/x509.py to x509.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/docker.py to docker.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/api.py to api.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/conductor.py to conductor.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/db_manage.py to db_manage.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/driver_manage.py to driver_manage.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/status.py to status.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware/auth_token.py to auth_token.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware/parsable_error.py to parsable_error.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/service/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/service/periodic.py to periodic.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/driver.py to driver.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/k8s_coreos_template_def.py to k8s_coreos_template_def.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/k8s_fedora_template_def.py to k8s_fedora_template_def.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/k8s_template_def.py to k8s_template_def.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/template_def.py to template_def.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/driver.py to driver.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/template_def.py to template_def.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/version.py to version.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/driver.py to driver.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/k8s_monitor.py to k8s_monitor.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/k8s_scale_manager.py to k8s_scale_manager.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/fcb4efee8f8b_add_version_info_to_bay.py to fcb4efee8f8b_add_version_info_to_bay.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/fb03fdef8919_rename_baymodel_to_clustertemplate.py to fb03fdef8919_rename_baymodel_to_clustertemplate.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/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 @@ -4303,6 +4272,94 @@ byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/db/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/db/api.py to api.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/db/migration.py to migration.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509/extensions.py to extensions.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509/operations.py to operations.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509/validator.py to validator.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/barbican_cert_manager.py to barbican_cert_manager.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/cert_manager.py to cert_manager.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/local_cert_manager.py to local_cert_manager.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/x509keypair_cert_manager.py to x509keypair_cert_manager.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/base.py to base.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/certificate.py to certificate.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/cluster.py to cluster.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/cluster_template.py to cluster_template.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/credential.py to credential.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/federation.py to federation.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/magnum_service.py to magnum_service.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/nodegroup.py to nodegroup.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/quota.py to quota.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/stats.py to stats.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cinder.py to cinder.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/clients.py to clients.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/config.py to config.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/context.py to context.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/exception.py to exception.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/keystone.py to keystone.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/name_generator.py to name_generator.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/neutron.py to neutron.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/nova.py to nova.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/octavia.py to octavia.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policy.py to policy.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/profiler.py to profiler.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/rpc.py to rpc.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/rpc_service.py to rpc_service.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/service.py to service.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/short_id.py to short_id.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/urlfetch.py to urlfetch.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/common/utils.py to utils.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/api.py to api.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/k8s_api.py to k8s_api.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/monitors.py to monitors.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/scale_manager.py to scale_manager.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/utils.py to utils.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks/heat_tasks.py to heat_tasks.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common/cert_manager.py to cert_manager.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common/trust_manager.py to trust_manager.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/ca_conductor.py to ca_conductor.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/cluster_conductor.py to cluster_conductor.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/conductor_listener.py to conductor_listener.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/credential_conductor.py to credential_conductor.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/federation_conductor.py to federation_conductor.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/indirection_api.py to indirection_api.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/nodegroup_conductor.py to nodegroup_conductor.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/api.py to api.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/barbican.py to barbican.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/certificates.py to certificates.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/cinder.py to cinder.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/cluster.py to cluster.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/cluster_heat.py to cluster_heat.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/cluster_templates.py to cluster_templates.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/conductor.py to conductor.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/database.py to database.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/docker_registry.py to docker_registry.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/drivers.py to drivers.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/glance.py to glance.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/heat.py to heat.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/keystone.py to keystone.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/kubernetes.py to kubernetes.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/magnum_client.py to magnum_client.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/neutron.py to neutron.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/nova.py to nova.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/octavia.py to octavia.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/opts.py to opts.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/paths.py to paths.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/profiler.py to profiler.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/quota.py to quota.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/rpc.py to rpc.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/services.py to services.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/trust.py to trust.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/utils.py to utils.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/x509.py to x509.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/docker.py to docker.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/base.py to base.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/conf_fixture.py to conf_fixture.cpython-313.pyc @@ -4311,8 +4368,6 @@ byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/output_fixture.py to output_fixture.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/policy_fixture.py to policy_fixture.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/utils.py to utils.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_fcos/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_fcos/test_k8s_python_client.py to test_k8s_python_client.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/base.py to base.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/client.py to client.cpython-313.pyc @@ -4321,17 +4376,17 @@ byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/manager.py to manager.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/models.py to models.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/utils.py to utils.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_ironic/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_ironic/test_k8s_python_client.py to test_k8s_python_client.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/python_client_base.py to python_client_base.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s/test_k8s_python_client.py to test_k8s_python_client.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s/test_magnum_python_client.py to test_magnum_python_client.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_fcos/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_fcos/test_k8s_python_client.py to test_k8s_python_client.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/base.py to base.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/cert_client.py to cert_client.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/cluster_client.py to cluster_client.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/cluster_template_client.py to cluster_template_client.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/magnum_service_client.py to magnum_service_client.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/cert_model.py to cert_model.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/cluster_id_model.py to cluster_id_model.cpython-313.pyc @@ -4340,51 +4395,29 @@ byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/cluster_templatepatch_model.py to cluster_templatepatch_model.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/clusterpatch_model.py to clusterpatch_model.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/models/magnum_service_model.py to magnum_service_model.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/python_client_base.py to python_client_base.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_ironic/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_ironic/test_k8s_python_client.py to test_k8s_python_client.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/servicegroup/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/servicegroup/test_magnum_service.py to test_magnum_service.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/template/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/template/test_template.py to test_template.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/test_hacking.py to test_hacking.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/cert_client.py to cert_client.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/cluster_client.py to cluster_client.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/cluster_template_client.py to cluster_template_client.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/magnum_service_client.py to magnum_service_client.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers/test_heat_driver.py to test_heat_driver.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers/test_template_definition.py to test_template_definition.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conf/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conf/test_conf.py to test_conf.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/base.py to base.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/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-21.0.0~rc1/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-21.0.0~rc1/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-21.0.0~rc1/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-21.0.0~rc1/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-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_nodegroup_policy.py to test_nodegroup_policy.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_quota_policy.py to test_quota_policy.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_stats_policy.py to test_stats_policy.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_clients.py to test_clients.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/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-21.0.0~rc1/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-21.0.0~rc1/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-21.0.0~rc1/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-21.0.0~rc1/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-21.0.0~rc1/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-21.0.0~rc1/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-21.0.0~rc1/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-21.0.0~rc1/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-21.0.0~rc1/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-21.0.0~rc1/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-21.0.0~rc1/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-21.0.0~rc1/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-21.0.0~rc1/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-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/test_cert_manager.py to test_cert_manager.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/test_local.py to test_local.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/test_x509keypair_cert_manager.py to test_x509keypair_cert_manager.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509/test_operations.py to test_operations.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509/test_sign.py to test_sign.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509/test_validator.py to test_validator.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/template/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/template/test_template.py to test_template.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/service/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/service/test_periodic.py to test_periodic.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_api.py to test_api.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_conductor.py to test_conductor.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_db_manage.py to test_db_manage.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_driver_manage.py to test_driver_manage.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_status.py to test_status.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/sqlalchemy/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/sqlalchemy/test_types.py to test_types.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/base.py to base.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_cluster.py to test_cluster.cpython-313.pyc @@ -4395,8 +4428,8 @@ byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_quota.py to test_quota.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_x509keypair.py to test_x509keypair.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/utils.py to utils.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/sqlalchemy/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/sqlalchemy/test_types.py to test_types.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/test_hacking.py to test_hacking.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/base.py to base.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_app.py to test_app.cpython-313.pyc @@ -4406,6 +4439,9 @@ byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_servicegroup.py to test_servicegroup.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_validation.py to test_validation.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/utils.py to utils.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/test_base.py to test_base.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/test_root.py to test_root.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_certificate.py to test_certificate.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_cluster.py to test_cluster.cpython-313.pyc @@ -4419,9 +4455,18 @@ byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_stats.py to test_stats.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_types.py to test_types.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_utils.py to test_utils.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/test_base.py to test_base.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/test_root.py to test_root.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_cluster.py to test_cluster.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_cluster_template.py to test_cluster_template.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_federation.py to test_federation.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_fields.py to test_fields.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_magnum_service.py to test_magnum_service.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_nodegroup.py to test_nodegroup.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_objects.py to test_objects.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_x509keypair.py to test_x509keypair.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/utils.py to utils.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/servicegroup/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/servicegroup/test_magnum_service.py to test_magnum_service.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/tasks/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/tasks/test_heat_tasks.py to test_heat_tasks.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/__init__.py to __init__.cpython-313.pyc @@ -4430,6 +4475,9 @@ byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_rpcapi.py to test_rpcapi.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_scale_manager.py to test_scale_manager.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_utils.py to test_utils.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common/test_cert_manager.py to test_cert_manager.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common/test_trust_manager.py to test_trust_manager.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_ca_conductor.py to test_ca_conductor.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_cluster_conductor.py to test_cluster_conductor.cpython-313.pyc @@ -4438,51 +4486,39 @@ byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_indirection_api.py to test_indirection_api.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_k8s_cluster_conductor.py to test_k8s_cluster_conductor.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/test_nodegroup_conductor.py to test_nodegroup_conductor.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common/test_cert_manager.py to test_cert_manager.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common/test_trust_manager.py to test_trust_manager.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers/test_heat_driver.py to test_heat_driver.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers/test_template_definition.py to test_template_definition.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_cluster.py to test_cluster.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_cluster_template.py to test_cluster_template.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_federation.py to test_federation.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_fields.py to test_fields.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_magnum_service.py to test_magnum_service.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_nodegroup.py to test_nodegroup.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_objects.py to test_objects.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_x509keypair.py to test_x509keypair.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/utils.py to utils.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/service/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/service/test_periodic.py to test_periodic.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_api.py to test_api.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_conductor.py to test_conductor.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_db_manage.py to test_db_manage.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_driver_manage.py to test_driver_manage.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_status.py to test_status.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/service/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/service/periodic.py to periodic.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks/heat_tasks.py to heat_tasks.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common/cert_manager.py to cert_manager.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common/trust_manager.py to trust_manager.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/ca_conductor.py to ca_conductor.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/cluster_conductor.py to cluster_conductor.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/conductor_listener.py to conductor_listener.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/credential_conductor.py to credential_conductor.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/federation_conductor.py to federation_conductor.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/indirection_api.py to indirection_api.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/nodegroup_conductor.py to nodegroup_conductor.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/api.py to api.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/k8s_api.py to k8s_api.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/monitors.py to monitors.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/scale_manager.py to scale_manager.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/utils.py to utils.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_clients.py to test_clients.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/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-21.0.0~rc1/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-21.0.0~rc1/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-21.0.0~rc1/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-21.0.0~rc1/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-21.0.0~rc1/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-21.0.0~rc1/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-21.0.0~rc1/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-21.0.0~rc1/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-21.0.0~rc1/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-21.0.0~rc1/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-21.0.0~rc1/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-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509/test_operations.py to test_operations.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509/test_sign.py to test_sign.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509/test_validator.py to test_validator.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/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-21.0.0~rc1/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-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/test_cert_manager.py to test_cert_manager.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/test_local.py to test_local.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/test_x509keypair_cert_manager.py to test_x509keypair_cert_manager.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/base.py to base.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/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-21.0.0~rc1/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-21.0.0~rc1/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-21.0.0~rc1/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-21.0.0~rc1/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-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_nodegroup_policy.py to test_nodegroup_policy.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_quota_policy.py to test_quota_policy.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_stats_policy.py to test_stats_policy.cpython-313.pyc running install_data creating /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/etc/magnum copying etc/magnum/api-paste.ini -> /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/etc/magnum @@ -4506,33 +4542,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 ++ for i in $@ ++ case "${1}" in ++ for i in $@ ++ case "${1}" in ++ for i in $@ ++ case "${1}" in +++ py3versions -vr + PYTHON3S=3.13 -+ [ yes = no ] -+ [ no = yes ] -+ [ 3.13 = disabled ] -+ echo 3.13 -+ cut -d. -f1 ++ '[' yes = no ']' ++ '[' no = yes ']' ++ for pyvers in ${PYTHON3S} ++ '[' 3.13 = disabled ']' +++ echo 3.13 +++ cut -d. -f1 + PYMAJOR=3 -+ echo ===> Testing with python (python3) ++ echo '===> Testing with python (python3)' ===> Testing with python (python3) -+ pwd -+ [ -d /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages ] -+ [ -z ] -+ pwd -+ echo Implicitly adding PYTHONPATH=/build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages +++ pwd ++ '[' -d /build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages ']' ++ '[' -z '' ']' +++ pwd ++ echo 'Implicitly adding PYTHONPATH=/build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages' Implicitly adding PYTHONPATH=/build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages -+ pwd +++ pwd + export PYTHONPATH=/build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages -+ [ -e .stestr.conf ] -+ [ -x /usr/bin/python3-stestr ] ++ PYTHONPATH=/build/reproducible-path/magnum-21.0.0~rc1/debian/tmp/usr/lib/python3/dist-packages ++ '[' -e .stestr.conf ']' ++ '[' -x /usr/bin/python3-stestr ']' + STESTR=stestr + rm -rf .stestr ++ PYTHON=python3.13 ++ stestr run --parallel --subunit --concurrency 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.13 stestr run --parallel --subunit --concurrency 2 magnum\.tests\.unit\.(?!(drivers\.test_heat_driver\.TestHeatPoller\.test_poll_done|drivers\.test_heat_driver\.TestHeatPoller\.test_poll_destroy|api\.controllers\.v1\.test_baymodel\.TestPatch|api\.controllers\.v1\.test_baymodel\.TestPost|api\.controllers\.v1\.test_cluster_template\.TestPost|api\.controllers\.v1\.test_cluster_template\.TestListClusterTemplate|api\.controllers\.v1\.test_cluster_template\.TestPatch\.test_update_cluster_template_with_cluster_not_allow_update|api\.controllers\.v1\.test_federation\.TestListFederation\.test_collection_links|api\.controllers\.v1\.test_federation\.TestPost\.test_create_federation_with_valid_name)) 1 RLock(s) were not greened, to fix this error make sure you run eventlet.monkey_patch() before importing any other modules. 1 RLock(s) were not greened, to fix this error make sure you run eventlet.monkey_patch() before importing any other modules. 1 RLock(s) were not greened, to fix this error make sure you run eventlet.monkey_patch() before importing any other modules. @@ -4588,20 +4635,32 @@ magnum.tests.unit.api.controllers.test_base.TestVersion.test_matches_valid_version ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test_matches_version_too_high magnum.tests.unit.api.controllers.test_base.TestVersion.test_matches_version_too_high ... ok +magnum.tests.unit.api.controllers.test_base.TestController.test_api_version_decorator +magnum.tests.unit.api.controllers.test_base.TestController.test_api_version_decorator ... ok magnum.tests.unit.api.controllers.test_base.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.test_base.TestVersion.test_parse_headers_bad_length magnum.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_bad_length ... ok +magnum.tests.unit.api.controllers.test_base.TestController.test_check_for_versions_intersection_negative +magnum.tests.unit.api.controllers.test_base.TestController.test_check_for_versions_intersection_negative ... ok magnum.tests.unit.api.controllers.test_base.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.TestController.test_check_for_versions_intersection_positive +magnum.tests.unit.api.controllers.test_base.TestController.test_check_for_versions_intersection_positive ... ok magnum.tests.unit.api.controllers.test_base.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.TestController.test_check_for_versions_intersection_shared_start_end +magnum.tests.unit.api.controllers.test_base.TestController.test_check_for_versions_intersection_shared_start_end ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test_parse_incorrect_service_type magnum.tests.unit.api.controllers.test_base.TestVersion.test_parse_incorrect_service_type ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test_parse_no_header magnum.tests.unit.api.controllers.test_base.TestVersion.test_parse_no_header ... ok +magnum.tests.unit.api.controllers.test_base.TestController.test_controller_get_attr_version_not_found +magnum.tests.unit.api.controllers.test_base.TestController.test_controller_get_attr_version_not_found ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test_repr magnum.tests.unit.api.controllers.test_base.TestVersion.test_repr ... ok +magnum.tests.unit.api.controllers.test_base.TestController.test_controller_get_attribute +magnum.tests.unit.api.controllers.test_base.TestController.test_controller_get_attribute ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test_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 @@ -4612,88 +4671,118 @@ 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.TestController.test_api_version_decorator -magnum.tests.unit.api.controllers.test_base.TestController.test_api_version_decorator ... ok -magnum.tests.unit.api.controllers.test_base.TestController.test_check_for_versions_intersection_negative -magnum.tests.unit.api.controllers.test_base.TestController.test_check_for_versions_intersection_negative ... ok -magnum.tests.unit.api.controllers.test_base.TestController.test_check_for_versions_intersection_positive -magnum.tests.unit.api.controllers.test_base.TestController.test_check_for_versions_intersection_positive ... ok -magnum.tests.unit.api.controllers.test_base.TestController.test_check_for_versions_intersection_shared_start_end -magnum.tests.unit.api.controllers.test_base.TestController.test_check_for_versions_intersection_shared_start_end ... ok -magnum.tests.unit.api.controllers.test_base.TestController.test_controller_get_attr_version_not_found -magnum.tests.unit.api.controllers.test_base.TestController.test_controller_get_attr_version_not_found ... ok -magnum.tests.unit.api.controllers.test_base.TestController.test_controller_get_attribute -magnum.tests.unit.api.controllers.test_base.TestController.test_controller_get_attribute ... ok -magnum.tests.unit.api.controllers.v1.test_certificate.TestCertObject.test_cert_init -magnum.tests.unit.api.controllers.v1.test_certificate.TestCertObject.test_cert_init ... ok INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> c0f832afc4fd -magnum.tests.unit.api.controllers.test_root.TestHeathcheck.test_healthcheck_disable_file -magnum.tests.unit.api.controllers.test_root.TestHeathcheck.test_healthcheck_disable_file ... ok -magnum.tests.unit.api.controllers.test_root.TestHeathcheck.test_healthcheck_enabled -magnum.tests.unit.api.controllers.test_root.TestHeathcheck.test_healthcheck_enabled ... ok +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_api_paste_file_not_exist magnum.tests.unit.api.controllers.test_root.TestRootController.test_api_paste_file_not_exist ... ok +INFO [alembic.runtime.migration] Running stamp_revision -> c0f832afc4fd 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.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_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.TestV1Routing.test_route_checks_version +magnum.tests.unit.api.controllers.test_root.TestV1Routing.test_route_checks_version ... 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 -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_get_not_found magnum.tests.unit.api.controllers.test_root.TestRootController.test_get_not_found ... ok -INFO [alembic.runtime.migration] Running stamp_revision -> c0f832afc4fd +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.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_certificate.TestCertPolicyEnforcement.test_policy_disallow_get_one +magnum.tests.unit.api.controllers.v1.test_certificate.TestCertPolicyEnforcement.test_policy_disallow_get_one ... ok magnum.tests.unit.api.controllers.test_root.TestRootController.test_version magnum.tests.unit.api.controllers.test_root.TestRootController.test_version ... ok -magnum.tests.unit.api.controllers.test_root.TestV1Routing.test_route_checks_version -magnum.tests.unit.api.controllers.test_root.TestV1Routing.test_route_checks_version ... ok +magnum.tests.unit.api.controllers.v1.test_certificate.TestCertObject.test_cert_init +magnum.tests.unit.api.controllers.v1.test_certificate.TestCertObject.test_cert_init ... ok +magnum.tests.unit.api.controllers.v1.test_certificate.TestCertPolicyEnforcement.test_policy_disallow_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.TestCertPolicyEnforcement.test_policy_disallow_create -magnum.tests.unit.api.controllers.v1.test_certificate.TestCertPolicyEnforcement.test_policy_disallow_create ... ok +magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one_by_name +magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one_by_name ... ok magnum.tests.unit.api.controllers.v1.test_certificate.TestPost.test_create_cert_by_cluster_name magnum.tests.unit.api.controllers.v1.test_certificate.TestPost.test_create_cert_by_cluster_name ... ok magnum.tests.unit.api.controllers.v1.test_certificate.TestPost.test_create_cert_cluster_not_found magnum.tests.unit.api.controllers.v1.test_certificate.TestPost.test_create_cert_cluster_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_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.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_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.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.TestGetCaCertificate.test_links +magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_links ... 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_certificate.TestCertPolicyEnforcement.test_policy_disallow_get_one -magnum.tests.unit.api.controllers.v1.test_certificate.TestCertPolicyEnforcement.test_policy_disallow_get_one ... ok +magnum.tests.unit.api.controllers.v1.test_certificate.TestRotateCaCertificateNonTls.test_rotate_ca_cert_non_tls +magnum.tests.unit.api.controllers.v1.test_certificate.TestRotateCaCertificateNonTls.test_rotate_ca_cert_non_tls ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster_as_admin magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster_as_admin ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_create +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_create ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster_not_found magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_certificate.TestCertPolicyEnforcement.test_policy_disallow_rotate -magnum.tests.unit.api.controllers.v1.test_certificate.TestCertPolicyEnforcement.test_policy_disallow_rotate ... ok +magnum.tests.unit.api.controllers.v1.test_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.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_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.TestClusterPolicyEnforcement.test_policy_disallow_detail +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_detail ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster_with_name_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_certificate.TestGetCaCertificate.test_get_one_by_name -magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one_by_name ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_get_all +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_get_all ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_multiple_cluster_by_name magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_multiple_cluster_by_name ... ok -magnum.tests.unit.api.controllers.v1.test_certificate.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.TestClusterResize.test_resize -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize ... 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_cluster.TestClusterPolicyEnforcement.test_policy_disallow_update +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_update ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_only_owner_delete +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_only_owner_delete ... ok GET: /v1/ {} GOT:{'id': 'v1', 'media_types': [{'base': 'application/json', 'type': 'application/vnd.openstack.magnum.v1+json'}], 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}, {'href': 'http://docs.openstack.org/developer/magnum/dev/api-spec-v1.html', 'rel': 'describedby', 'type': 'text/html'}], 'clustertemplates': [{'href': 'http://localhost/v1/clustertemplates/', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/', 'rel': 'bookmark'}], 'clusters': [{'href': 'http://localhost/v1/clusters/', 'rel': 'self'}, {'href': 'http://localhost/clusters/', 'rel': 'bookmark'}], 'quotas': [{'href': 'http://localhost/v1/quotas/', 'rel': 'self'}, {'href': 'http://localhost/quotas/', 'rel': 'bookmark'}], 'certificates': [{'href': 'http://localhost/v1/certificates/', 'rel': 'self'}, {'href': 'http://localhost/certificates/', 'rel': 'bookmark'}], 'mservices': [{'href': 'http://localhost/v1/mservices/', 'rel': 'self'}, {'href': 'http://localhost/mservices/', 'rel': 'bookmark'}], 'stats': [{'href': 'http://localhost/v1/stats/', 'rel': 'self'}, {'href': 'http://localhost/stats/', 'rel': 'bookmark'}], 'federations': [{'href': 'http://localhost/v1/federations/', 'rel': 'self'}, {'href': 'http://localhost/federations/', 'rel': 'bookmark'}], 'nodegroups': [{'href': 'http://localhost/v1/clusters/{cluster_id}/nodegroups', 'rel': 'self'}, {'href': 'http://localhost/clusters/{cluster_id}/nodegroups', 'rel': 'bookmark'}], 'credentials': [{'href': 'http://localhost/v1/credentials/', 'rel': 'self'}, {'href': 'http://localhost/credentials/', 'rel': 'bookmark'}]} +POST: /v1/certificates {'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'csr': 'fake-csr', 'pem': 'fake-pem'} +GOT:Response: 403 Forbidden +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow certificate:create to be performed", "detail": "Policy doesn't allow certificate:create to be performed.", "links": []}]} +GET: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:Response: 403 Forbidden +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow certificate:get to be performed", "detail": "Policy doesn't allow certificate:get to be performed.", "links": []}]} +PATCH: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:Response: 403 Forbidden +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow certificate:rotate_ca to be performed", "detail": "Policy doesn't allow certificate:rotate_ca to be performed.", "links": []}]} POST: /v1/certificates {'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'csr': 'fake-csr'} GOT:Response: 201 Created Content-Type: application/json @@ -4718,6 +4807,14 @@ Openstack-Api-Version: container-infra 1.12 Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Cluster not_found could not be found", "detail": "Cluster not_found could not be found.", "links": []}]} +PATCH: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 +Vary: OpenStack-API-Version +{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 GOT:Response: 204 No Content Openstack-Api-Maximum-Version: container-infra 1.12 @@ -4733,21 +4830,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/13aba89b-fe13-48fa-a395-36fb7cab5c3e +DELETE: /v1/clusters/016b4cbd-61bf-4898-98eb-b09138e540d1 GOT:Response: 204 No Content Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -DELETE: /v1/clusters/1aed550c-dc84-4237-bb31-b009274d89d5 +DELETE: /v1/clusters/4b13afe1-31f5-407d-a7e0-1af9723378dc GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 1aed550c-dc84-4237-bb31-b009274d89d5 could not be found", "detail": "Cluster 1aed550c-dc84-4237-bb31-b009274d89d5 could not be found.", "links": []}]} +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 4b13afe1-31f5-407d-a7e0-1af9723378dc could not be found", "detail": "Cluster 4b13afe1-31f5-407d-a7e0-1af9723378dc could not be found.", "links": []}]} DELETE: /v1/clusters/cluster1 GOT:Response: 204 No Content Openstack-Api-Maximum-Version: container-infra 1.12 @@ -4771,79 +4868,13 @@ 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 -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.7 -Vary: OpenStack-API-Version -{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 6, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-10-17T17:08:37.128020+00:00', 'updated_at': None} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 4, 'nodegroup': '2dd7c351-2708-4f8a-9c2f-bda5965184ec'} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing the master nodegroup is not supported by this driver", "detail": "Resizing the master nodegroup is not supported by this driver.", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_master_nodegroup_even_unsupported -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_master_nodegroup_even_unsupported ... ok -magnum.tests.unit.api.controllers.v1.test_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.TestClusterResize.test_resize_with_master_nodegroup_odd_unsupported -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_master_nodegroup_odd_unsupported ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_node_count_greater_than_max -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_node_count_greater_than_max ... ok -magnum.tests.unit.api.controllers.v1.test_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_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.TestClusterPolicyEnforcement.test_policy_disallow_create -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_create ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_delete -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_delete ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_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.TestClusterPolicyEnforcement.test_policy_disallow_detail -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_detail ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_get_all -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_get_all ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_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.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_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.TestPatch.test_add_root_non_existent -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_add_root_non_existent ... 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.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow certificate:create to be performed", "detail": "Policy doesn't allow certificate:create to be performed.", "links": []}]} -GET: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:Response: 403 Forbidden -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow certificate:get to be performed", "detail": "Policy doesn't allow certificate:get to be performed.", "links": []}]} -PATCH: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:Response: 403 Forbidden -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow certificate:rotate_ca to be performed", "detail": "Policy doesn't allow certificate:rotate_ca to be performed.", "links": []}]} +GET: /v1/clusters/?limit=3 {} +GOT:{'clusters': [{'uuid': 'b112ec10-a37b-4d5a-8bd9-c82a7c4bd8b0', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/b112ec10-a37b-4d5a-8bd9-c82a7c4bd8b0', 'rel': 'self'}, {'href': 'http://localhost/clusters/b112ec10-a37b-4d5a-8bd9-c82a7c4bd8b0', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '036173b0-671a-4e7f-8b63-3514c2270b53', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/036173b0-671a-4e7f-8b63-3514c2270b53', 'rel': 'self'}, {'href': 'http://localhost/clusters/036173b0-671a-4e7f-8b63-3514c2270b53', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '428e7c78-63a5-487d-8005-3c0ce01e8136', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/428e7c78-63a5-487d-8005-3c0ce01e8136', 'rel': 'self'}, {'href': 'http://localhost/clusters/428e7c78-63a5-487d-8005-3c0ce01e8136', '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=428e7c78-63a5-487d-8005-3c0ce01e8136'}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_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.TestListCluster.test_collection_links_default_limit +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_collection_links_default_limit ... ok GET: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} GET: /v1/certificates/cluster1 {} @@ -4871,14 +4902,6 @@ GET: /certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} PATCH: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -Vary: OpenStack-API-Version -{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -PATCH: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 @@ -4902,7 +4925,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/23125550-5214-4037-9e8c-ad57f5235a24/detail {} +GET: /v1/clusters/2db99919-6f88-40de-b4af-1df939ff4575/detail {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 @@ -4926,221 +4949,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: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'}]magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_update -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_update ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_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.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_cluster.TestClusterPolicyEnforcement.test_policy_only_owner_update -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_only_owner_update ... ok - -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 3, 'nodegroup': 'ad90f392-bc8d-4ef7-abc9-120036d767b8'} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing the master nodegroup is not supported by this driver", "detail": "Resizing the master nodegroup is not supported by this driver.", "links": []}]} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 6, 'nodegroup': 'e639c4d1-328b-437b-89f4-db5311146a7e'} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing test-worker outside the allowed range: min_node_count = 1, max_node_count = 5", "detail": "Resizing test-worker outside the allowed range: min_node_count = 1, max_node_count = 5", "links": []}]} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 3, 'nodegroup': '2a672906-4fd3-4c5d-bc5a-7f8163359c04'} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing test-worker outside the allowed range: min_node_count = 4, max_node_count = None", "detail": "Resizing test-worker outside the allowed range: min_node_count = 4, max_node_count = None", "links": []}]} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 6, 'nodegroup': '30aac336-32b0-4dcc-924f-21f4d217da58'} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 -Vary: OpenStack-API-Version -{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 6, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-10-17T17:08:37.618843+00:00', 'updated_at': None} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 0, 'nodegroup': 'c0d0eb8a-d240-43cd-bcae-a9fa2754cd7c'} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.10 -Vary: OpenStack-API-Version -{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 0, 'nodegroup': 'c51f1cc1-08d2-4444-9bec-69485fa0a792'} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing a nodegroup to zero is not supported in the provided microversion", "detail": "Resizing a nodegroup to zero is not supported in the provided microversion.", "links": []}]} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Adding a new attribute /foo to the root of the resource is not allowed", "detail": "Adding a new attribute /foo to the root of the resource is not allowed.", "links": []}]} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/image_id', 'value': 'img', 'op': 'replace'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "img", "detail": "img", "links": []}]} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/image_id', 'op': 'remove'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/image_id' is a mandatory attribute and can not be removed", "detail": "'/image_id' is a mandatory attribute and can not be removed", "links": []}]} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/coe', 'op': 'remove'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/coe' is a mandatory attribute and can not be removed", "detail": "'/coe' is a mandatory attribute and can not be removed", "links": []}]} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/external_network_id', 'op': 'remove'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/external_network_id' is a mandatory attribute and can not be removed", "detail": "'/external_network_id' is a mandatory attribute and can not be removed", "links": []}]} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/server_type', 'op': 'remove'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/server_type' is a mandatory attribute and can not be removed", "detail": "'/server_type' is a mandatory attribute and can not be removed", "links": []}]} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/tls_disabled', 'op': 'remove'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/tls_disabled' is a mandatory attribute and can not be removed", "detail": "'/tls_disabled' is a mandatory attribute and can not be removed", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_mandatory_property_fail -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_mandatory_property_fail ... ok -magnum.tests.unit.api.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.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_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 - -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/public', 'op': 'remove'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/public' is a mandatory attribute and can not be removed", "detail": "'/public' is a mandatory attribute and can not be removed", "links": []}]} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/registry_enabled', 'op': 'remove'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/registry_enabled' is a mandatory attribute and can not be removed", "detail": "'/registry_enabled' is a mandatory attribute and can not be removed", "links": []}]} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/cluster_distro', 'op': 'remove'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/cluster_distro' is a mandatory attribute and can not be removed", "detail": "'/cluster_distro' is a mandatory attribute and can not be removed", "links": []}]} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/network_driver', 'op': 'remove'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/network_driver' is a mandatory attribute and can not be removed", "detail": "'/network_driver' is a mandatory attribute and can not be removed", "links": []}]} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/non-existent', 'op': 'remove'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Couldn't apply patch '[{'path': '/non-existent', 'op': 'remove'}]'", "detail": "Couldn't apply patch '[{'path': '/non-existent', 'op': 'remove'}]'. Reason: can't remove a non-existent object 'non-existent'", "links": []}]} -GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2026-10-17T17:08:38.073032+00:00', 'updated_at': None} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/dns_nameserver', 'op': 'remove'}] -GOT:Response: 200 OK -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": null, "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2026-10-17T17:08:38.073032+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-10-17T17:08:38.073032+00:00', 'updated_at': '2026-10-17T17:08:38.144740+00:00'} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/uuid', 'op': 'remove'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/uuid' is an internal attribute and can not be updated", "detail": "'/uuid' is an internal attribute and can not be updated", "links": []}]} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/flavor_id', 'value': 'aaa', 'op': 'replace'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Flavor with zero root volume size is not supported when boot_volume_size is zero", "detail": "Flavor with zero root volume size is not supported when boot_volume_size is zero.", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_invalid_flavor -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_invalid_flavor ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_external_network_id -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_external_network_id ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_collection_links_default_limit -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_collection_links_default_limit ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_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.TestListCluster.test_detail -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_keypair_id -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_keypair_id ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.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.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 - +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.12 @@ -5171,13 +4980,41 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:update to be performed", "detail": "Policy doesn't allow cluster:update to be performed.", "links": []}]} -GET: /v1/clusters/?limit=3 {} -GOT:{'clusters': [{'uuid': 'b812ea4f-ad90-437f-a6e4-2f709e701818', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/b812ea4f-ad90-437f-a6e4-2f709e701818', 'rel': 'self'}, {'href': 'http://localhost/clusters/b812ea4f-ad90-437f-a6e4-2f709e701818', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '87a05f93-f545-499a-822e-c8ef727dedde', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/87a05f93-f545-499a-822e-c8ef727dedde', 'rel': 'self'}, {'href': 'http://localhost/clusters/87a05f93-f545-499a-822e-c8ef727dedde', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '47b7ea31-bdbd-4fd3-9dd1-656016370da8', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/47b7ea31-bdbd-4fd3-9dd1-656016370da8', 'rel': 'self'}, {'href': 'http://localhost/clusters/47b7ea31-bdbd-4fd3-9dd1-656016370da8', '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=47b7ea31-bdbd-4fd3-9dd1-656016370da8'} +{"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_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.TestListCluster.test_detail +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail ... 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_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.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.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_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.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.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_credential.TestCredentialPolicyEnforcement.test_policy_disallow_rotate +magnum.tests.unit.api.controllers.v1.test_credential.TestCredentialPolicyEnforcement.test_policy_disallow_rotate ... ok +magnum.tests.unit.api.controllers.v1.test_credential.TestPatch.test_rotate +magnum.tests.unit.api.controllers.v1.test_credential.TestPatch.test_rotate ... ok + GET: /v1/clusters {} -GOT:{'clusters': [{'uuid': '75984f45-1e4a-4d5e-be3f-3aa583fb551e', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/75984f45-1e4a-4d5e-be3f-3aa583fb551e', 'rel': 'self'}, {'href': 'http://localhost/clusters/75984f45-1e4a-4d5e-be3f-3aa583fb551e', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'debbc079-96fb-4fc1-aafa-d3b4cbff156a', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/debbc079-96fb-4fc1-aafa-d3b4cbff156a', 'rel': 'self'}, {'href': 'http://localhost/clusters/debbc079-96fb-4fc1-aafa-d3b4cbff156a', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '97029633-8901-470f-91cb-c83630b4d6b9', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/97029633-8901-470f-91cb-c83630b4d6b9', 'rel': 'self'}, {'href': 'http://localhost/clusters/97029633-8901-470f-91cb-c83630b4d6b9', '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=97029633-8901-470f-91cb-c83630b4d6b9'} +GOT:{'clusters': [{'uuid': '995b0f0c-9538-4a4d-8f91-5b86337bbe3b', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/995b0f0c-9538-4a4d-8f91-5b86337bbe3b', 'rel': 'self'}, {'href': 'http://localhost/clusters/995b0f0c-9538-4a4d-8f91-5b86337bbe3b', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '97e345c3-f84a-4c3d-b8c5-e33d1ea13e78', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/97e345c3-f84a-4c3d-b8c5-e33d1ea13e78', 'rel': 'self'}, {'href': 'http://localhost/clusters/97e345c3-f84a-4c3d-b8c5-e33d1ea13e78', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '7a002f47-d125-4d41-ab63-83baa0ed55f7', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/7a002f47-d125-4d41-ab63-83baa0ed55f7', 'rel': 'self'}, {'href': 'http://localhost/clusters/7a002f47-d125-4d41-ab63-83baa0ed55f7', '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=7a002f47-d125-4d41-ab63-83baa0ed55f7'} 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-10-17T17:08:38.362458+00:00', 'updated_at': None}]} +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-09-14T10:49:26.211399+00:00', 'updated_at': None}]} GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/detail {} GOT:Response: 404 Not Found Content-Type: application/json @@ -5186,375 +5023,309 @@ 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=ba2e7e90-4c88-4cd3-bc45-2338ae56460c {} -GOT:{'clusters': [{'uuid': '7f10058d-bc30-4256-9eb2-3ed01dc7deec', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/7f10058d-bc30-4256-9eb2-3ed01dc7deec', 'rel': 'self'}, {'href': 'http://localhost/clusters/7f10058d-bc30-4256-9eb2-3ed01dc7deec', '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-10-17T17:08:38.567965+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 +GET: /v1/clusters/detail?limit=3&marker=30a91683-ceeb-4873-8767-b555edba2a3d {} +GOT:{'clusters': [{'uuid': '16806b2b-1e28-48be-8865-571f9919e4a3', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/16806b2b-1e28-48be-8865-571f9919e4a3', 'rel': 'self'}, {'href': 'http://localhost/clusters/16806b2b-1e28-48be-8865-571f9919e4a3', '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-09-14T10:49:26.299809+00:00', 'updated_at': None}]} +GET: /v1/clusters {} +GOT:{'clusters': []} +GET: /v1/clusters {} +GOT:{'clusters': [{'uuid': '922aa6e7-23b1-4022-9a98-9f3150b2d414', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/922aa6e7-23b1-4022-9a98-9f3150b2d414', 'rel': 'self'}, {'href': 'http://localhost/clusters/922aa6e7-23b1-4022-9a98-9f3150b2d414', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'f923736b-5725-41fb-bf85-e9374226d537', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/f923736b-5725-41fb-bf85-e9374226d537', 'rel': 'self'}, {'href': 'http://localhost/clusters/f923736b-5725-41fb-bf85-e9374226d537', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '96a38517-54c7-454c-8e1b-8aae1463e592', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/96a38517-54c7-454c-8e1b-8aae1463e592', 'rel': 'self'}, {'href': 'http://localhost/clusters/96a38517-54c7-454c-8e1b-8aae1463e592', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '07174f52-bbb3-41c2-8168-455f79022c3e', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/07174f52-bbb3-41c2-8168-455f79022c3e', 'rel': 'self'}, {'href': 'http://localhost/clusters/07174f52-bbb3-41c2-8168-455f79022c3e', '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=44246c7b-077d-442e-8499-c8ef68250575 {} +GOT:{'clusters': [{'uuid': '09c1d028-30e2-4bdb-9a1d-319963be63fc', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/09c1d028-30e2-4bdb-9a1d-319963be63fc', 'rel': 'self'}, {'href': 'http://localhost/clusters/09c1d028-30e2-4bdb-9a1d-319963be63fc', '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_federation.TestDelete.test_delete_federation +magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation_not_found +magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation_with_name +magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation_with_name ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation_with_name_not_found +magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation_with_name_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestFederationObject.test_federation_init +magnum.tests.unit.api.controllers.v1.test_federation.TestFederationObject.test_federation_init ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name ... ok +magnum.tests.unit.api.controllers.v1.test_federation.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_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.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_uuid +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid ... ok -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/external_network_id', 'value': 'aaa', 'op': 'replace'}] -GOT:Response: 400 Bad Request -Content-Type: application/json +DELETE: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 +GOT:Response: 204 No Content Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "aaa", "detail": "aaa", "links": []}]} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/flavor_id', 'value': 'aaa', 'op': 'replace'}] -GOT:Response: 400 Bad Request + +GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "aaa", "detail": "aaa", "links": []}]} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/image_id', 'value': 'aaa', 'op': 'replace'}] -GOT:Response: 400 Bad Request -Content-Type: application/json +{"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/803fb3fb-bbc4-49c9-b6e5-31065beb05d2 +GOT:Response: 204 No Content Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "aaa", "detail": "aaa", "links": []}]} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/keypair_id', 'value': 'aaa', 'op': 'replace'}] + +DELETE: /v1/clustertemplates/5a528a64-2f7a-46d4-a835-ba7568fd1566 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "aaa", "detail": "aaa", "links": []}]} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/name', 'value': 'cluster_model_example_B', 'op': 'replace'}] -GOT:Response: 200 OK -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_B", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2026-10-17T17:08:38.473833+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-10-17T17:08:38.473833+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} -PATCH: /v1/clustertemplates/935b067a-1f62-4aae-9a0e-8a8a3d4975bd [{'path': '/name', 'value': 'cluster_model_example_B', 'op': 'replace'}] -GOT:Response: 200 OK +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "ClusterTemplate 5a528a64-2f7a-46d4-a835-ba7568fd1566 could not be found", "detail": "ClusterTemplate 5a528a64-2f7a-46d4-a835-ba7568fd1566 could not be found.", "links": []}]} +DELETE: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "935b067a-1f62-4aae-9a0e-8a8a3d4975bd", "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/935b067a-1f62-4aae-9a0e-8a8a3d4975bd", "rel": "self"}, {"href": "http://localhost/clustertemplates/935b067a-1f62-4aae-9a0e-8a8a3d4975bd", "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": "935b067a-1f62-4aae-9a0e-8a8a3d4975bd", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2026-10-17T17:08:38.556384+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 +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "ClusterTemplate e74c40e0-d825-11e2-a28f-0800200c9a66 is referenced by one or multiple clusters", "detail": "ClusterTemplate e74c40e0-d825-11e2-a28f-0800200c9a66 is referenced by one or multiple clusters.", "links": []}]} +DELETE: /v1/clustertemplates/clustermodel1 +GOT:Response: 204 No Content Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"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-10-17T17:08:38.620306+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-10-17T17:08:38.620306+00:00', 'updated_at': '2026-10-17T17:08:38.676067+00:00'}magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_hidden_with_cluster_allow_update -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_hidden_with_cluster_allow_update ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_name_with_cluster -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_name_with_cluster ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_all_with_all_projects -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_all_with_all_projects ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_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.TestListCluster.test_get_all_with_pagination_marker -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_all_with_pagination_marker ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_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.TestListCluster.test_get_one -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one ... ok -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/name', 'value': 'cluster_model_example_B', 'op': 'replace'}] -GOT:Response: 200 OK +DELETE: /v1/clustertemplates/not_found +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"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-10-17T17:08:38.727851+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 +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "ClusterTemplate not_found could not be found", "detail": "ClusterTemplate not_found could not be found.", "links": []}]} +DELETE: /v1/clustertemplates/test_cluster_template +GOT:Response: 409 Conflict Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"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-10-17T17:08:38.829636+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-10-17T17:08:38.829636+00:00', 'updated_at': '2026-10-17T17:08:38.869261+00:00'} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/network_driver', 'value': 'flannel', 'op': 'replace'}] -GOT:Response: 400 Bad Request +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Multiple ClusterTemplates exist with same name", "detail": "Multiple ClusterTemplates exist with same name. Please use the ClusterTemplate uuid instead.", "links": []}]} +PATCH: /v1/credentials/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "ClusterTemplate e74c40e0-d825-11e2-a28f-0800200c9a66 is referenced by one or multiple clusters", "detail": "ClusterTemplate e74c40e0-d825-11e2-a28f-0800200c9a66 is referenced by one or multiple clusters.", "links": []}]} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/public', 'value': True, 'op': 'replace'}] -GOT:Response: 200 OK +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow credential:rotate to be performed", "detail": "Policy doesn't allow credential:rotate to be performed.", "links": []}]} +PATCH: /v1/credentials/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 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-10-17T17:08:38.990189+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-10-17T17:08:38.990189+00:00', 'updated_at': '2026-10-17T17:08:39.045634+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 +{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} +DELETE: /v1/federations/c801d617-3f23-4498-9c23-897d886d0bd9 +GOT:Response: 204 No Content Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"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-10-17T17:08:39.081178+00:00", "updated_at": null}magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_with_devicemapper -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_with_devicemapper ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.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_template.TestPatch.test_update_hidden_cluster_template_fail -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_hidden_cluster_template_fail ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_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_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.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_template.TestPatch.test_update_not_found -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_public_cluster_template_fail -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_public_cluster_template_fail ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_public_cluster_template_success -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_public_cluster_template_success ... ok -magnum.tests.unit.api.controllers.v1.test_credential.TestPatch.test_rotate -magnum.tests.unit.api.controllers.v1.test_credential.TestPatch.test_rotate ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation -magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation ... ok -GET: /v1/clusters {} -GOT:{'clusters': []} -GET: /v1/clusters {} -GOT:{'clusters': [{'uuid': 'a31c281a-010e-449f-b683-69d613e30d83', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/a31c281a-010e-449f-b683-69d613e30d83', 'rel': 'self'}, {'href': 'http://localhost/clusters/a31c281a-010e-449f-b683-69d613e30d83', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '74ec5217-daad-4b5c-b5fd-19c3131c140a', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/74ec5217-daad-4b5c-b5fd-19c3131c140a', 'rel': 'self'}, {'href': 'http://localhost/clusters/74ec5217-daad-4b5c-b5fd-19c3131c140a', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '00714b52-4b65-4646-a3d0-e13abf5430fa', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/00714b52-4b65-4646-a3d0-e13abf5430fa', 'rel': 'self'}, {'href': 'http://localhost/clusters/00714b52-4b65-4646-a3d0-e13abf5430fa', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'b6057ad5-54a4-4372-81c7-a6c26714b3fe', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/b6057ad5-54a4-4372-81c7-a6c26714b3fe', 'rel': 'self'}, {'href': 'http://localhost/clusters/b6057ad5-54a4-4372-81c7-a6c26714b3fe', '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=af3b6145-33da-401f-a715-42ce18fe04bb {} -GOT:{'clusters': [{'uuid': '900cf82c-24f7-4af2-a952-704e171fe672', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/900cf82c-24f7-4af2-a952-704e171fe672', 'rel': 'self'}, {'href': 'http://localhost/clusters/900cf82c-24f7-4af2-a952-704e171fe672', '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-10-17T17:08:39.028214+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-10-17T17:08:39.118471+00:00', 'updated_at': None} -GET: /v1/clusters/test_cluster {} -GOT:Response: 409 Conflict +GET: /v1/federations/c801d617-3f23-4498-9c23-897d886d0bd9 {} +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Multiple clusters exist with same name", "detail": "Multiple clusters exist with same name. Please use the cluster uuid instead.", "links": []}]} -GET: /v1/clusters/not_found {} +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation c801d617-3f23-4498-9c23-897d886d0bd9 could not be found", "detail": "Federation c801d617-3f23-4498-9c23-897d886d0bd9 could not be found.", "links": []}]} +DELETE: /v1/federations/32e31656-e2d0-47fb-9a92-8a408a7f070c GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not_found could not be found", "detail": "Cluster not_found could not be found.", "links": []}]} -GET: /v1/clusters/7625d4b3-71f2-4ab9-9393-a40d4df1fc3b {} -GOT:{'uuid': '7625d4b3-71f2-4ab9-9393-a40d4df1fc3b', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/7625d4b3-71f2-4ab9-9393-a40d4df1fc3b', 'rel': 'self'}, {'href': 'http://localhost/clusters/7625d4b3-71f2-4ab9-9393-a40d4df1fc3b', '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-10-17T17:08:39.333862+00:00', 'updated_at': None} -GET: /v1/clusters/1dd6a1a6-dcde-45dd-a7e5-27ab1793ce6a {} -GOT:{'uuid': '1dd6a1a6-dcde-45dd-a7e5-27ab1793ce6a', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/1dd6a1a6-dcde-45dd-a7e5-27ab1793ce6a', 'rel': 'self'}, {'href': 'http://localhost/clusters/1dd6a1a6-dcde-45dd-a7e5-27ab1793ce6a', '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': '1dd6a1a6-dcde-45dd-a7e5-27ab1793ce6a', '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-10-17T17:08:39.431296+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 - -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 +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation 32e31656-e2d0-47fb-9a92-8a408a7f070c could not be found", "detail": "Federation 32e31656-e2d0-47fb-9a92-8a408a7f070c could not be found.", "links": []}]} +DELETE: /v1/federations/federation-example +GOT:Response: 204 No Content Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"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-10-17T17:08:39.217092+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-10-17T17:08:39.217092+00:00', 'updated_at': '2026-10-17T17:08:39.251913+00:00'} -PATCH: /v1/clustertemplates/5dd83108-9c4c-44bc-a423-4f30e2566d51 [{'path': '/name', 'value': 'cluster_model_example_B', 'op': 'add'}] + +DELETE: /v1/federations/foo GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "ClusterTemplate 5dd83108-9c4c-44bc-a423-4f30e2566d51 could not be found", "detail": "ClusterTemplate 5dd83108-9c4c-44bc-a423-4f30e2566d51 could not be found.", "links": []}]} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/public', 'value': True, 'op': 'replace'}] -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/public', 'value': True, 'op': 'replace'}] -GOT:Response: 200 OK -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": true, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2026-10-17T17:08:39.368108+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-10-17T17:08:39.368108+00:00', 'updated_at': '2026-10-17T17:08:39.398378+00:00'} -PATCH: /v1/credentials/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:Response: 202 Accepted +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation foo could not be found", "detail": "Federation foo could not be found.", "links": []}]} +PATCH: /v1/federations/91d16b9c-3a2b-4eb6-a016-a807927dc0ea [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'add'}] +GOT:Response: 409 Conflict Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -Vary: OpenStack-API-Version -{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -DELETE: /v1/federations/1e3ee4da-f457-4f7a-b387-33cdf8473e85 -GOT:Response: 204 No Content -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version - -GET: /v1/federations/1e3ee4da-f457-4f7a-b387-33cdf8473e85 {} +{"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/9b2f7ef1-9409-44dd-8808-e96a7adc6e47 [{'path': '/member_ids', 'value': '899d7cdb-d9fb-4d3c-9c81-bcce734f989a', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation 1e3ee4da-f457-4f7a-b387-33cdf8473e85 could not be found", "detail": "Federation 1e3ee4da-f457-4f7a-b387-33cdf8473e85 could not be found.", "links": []}]} -DELETE: /v1/federations/4a62e383-8df4-400a-bb79-a39e77fbd82f -GOT:Response: 404 Not Found +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 899d7cdb-d9fb-4d3c-9c81-bcce734f989a could not be found", "detail": "Cluster 899d7cdb-d9fb-4d3c-9c81-bcce734f989a could not be found.", "links": []}]} +PATCH: /v1/federations/7108cd87-a891-43d8-b035-eba69ce830f1 [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'add'}] +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation 4a62e383-8df4-400a-bb79-a39e77fbd82f could not be found", "detail": "Federation 4a62e383-8df4-400a-bb79-a39e77fbd82f could not be found.", "links": []}]}magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation_not_found -magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_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 -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.TestPatch.test_join_cluster_already_member -magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_join_cluster_already_member ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_join_non_existent_cluster -magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_join_non_existent_cluster ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_links -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_links ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_member_join +{"uuid": "7108cd87-a891-43d8-b035-eba69ce830f1"} +GET: /v1/federations/7108cd87-a891-43d8-b035-eba69ce830f1 {} +GOT:{'uuid': '7108cd87-a891-43d8-b035-eba69ce830f1', '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/7108cd87-a891-43d8-b035-eba69ce830f1', 'rel': 'self'}, {'href': 'http://localhost/federations/7108cd87-a891-43d8-b035-eba69ce830f1', 'rel': 'bookmark'}], 'created_at': '2025-09-14T10:49:26.654735+00:00', 'updated_at': '2025-09-14T10:49:26.676939+00:00'}magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_member_join magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_member_join ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid_admin +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid_admin ... ok magnum.tests.unit.api.controllers.v1.test_federation.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_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.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.TestListCluster.test_get_one_failed_cluster +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_failed_cluster ... ok magnum.tests.unit.api.controllers.v1.test_federation.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_nodegroup.TestDelete.test_delete_by_name_not_found -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_by_name_not_found ... ok -GET: /v1/clusters/640a5f5f-b734-4485-bc55-d7cdcfbc17f2 {} -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 640a5f5f-b734-4485-bc55-d7cdcfbc17f2 could not be found", "detail": "Cluster 640a5f5f-b734-4485-bc55-d7cdcfbc17f2 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-10-17T17:08:39.607939+00:00', 'updated_at': None} -GET: /v1/clusters/8365cfe1-ead4-40d8-bd8f-24b0761a5e4e {} -GOT:{'uuid': '8365cfe1-ead4-40d8-bd8f-24b0761a5e4e', 'name': 'cluster1', 'cluster_template_id': '389f5c7d-6759-4f65-b59c-9d3908afbebb', '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/8365cfe1-ead4-40d8-bd8f-24b0761a5e4e', 'rel': 'self'}, {'href': 'http://localhost/clusters/8365cfe1-ead4-40d8-bd8f-24b0761a5e4e', '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-10-17T17:08:39.756906+00:00', 'updated_at': None} -GET: /v1/clusters/7a64cf64-d826-4d5e-9597-e821444274d1 {} -GOT:{'uuid': '7a64cf64-d826-4d5e-9597-e821444274d1', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/7a64cf64-d826-4d5e-9597-e821444274d1', 'rel': 'self'}, {'href': 'http://localhost/clusters/7a64cf64-d826-4d5e-9597-e821444274d1', '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-10-17T17:08:39.882824+00:00', 'updated_at': None} -GET: /v1/clusters/7a64cf64-d826-4d5e-9597-e821444274d1 {} -GOT:{'uuid': '7a64cf64-d826-4d5e-9597-e821444274d1', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/7a64cf64-d826-4d5e-9597-e821444274d1', 'rel': 'self'}, {'href': 'http://localhost/clusters/7a64cf64-d826-4d5e-9597-e821444274d1', '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-10-17T17:08:39.882824+00:00', 'updated_at': None} -GET: /clusters/7a64cf64-d826-4d5e-9597-e821444274d1 {} -GOT:{'uuid': '7a64cf64-d826-4d5e-9597-e821444274d1', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/7a64cf64-d826-4d5e-9597-e821444274d1', 'rel': 'self'}, {'href': 'http://localhost/clusters/7a64cf64-d826-4d5e-9597-e821444274d1', '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-10-17T17:08:39.882824+00:00', 'updated_at': None} -GET: /v1/clusters {} -GOT:{'clusters': [{'uuid': 'bc4578f9-e082-489d-b997-d74bd7650596', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/bc4578f9-e082-489d-b997-d74bd7650596', 'rel': 'self'}, {'href': 'http://localhost/clusters/bc4578f9-e082-489d-b997-d74bd7650596', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '47a30e72-e46a-423c-8f1c-4aa8114d1ff3', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/47a30e72-e46a-423c-8f1c-4aa8114d1ff3', 'rel': 'self'}, {'href': 'http://localhost/clusters/47a30e72-e46a-423c-8f1c-4aa8114d1ff3', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'a8686be8-09df-437a-87f4-17aa35a2f409', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/a8686be8-09df-437a-87f4-17aa35a2f409', 'rel': 'self'}, {'href': 'http://localhost/clusters/a8686be8-09df-437a-87f4-17aa35a2f409', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '330d2ff7-6132-4a3a-bb61-25b0dc9d369c', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/330d2ff7-6132-4a3a-bb61-25b0dc9d369c', 'rel': 'self'}, {'href': 'http://localhost/clusters/330d2ff7-6132-4a3a-bb61-25b0dc9d369c', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '38011dd8-3a49-4675-b88d-a67019fd3cca', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/38011dd8-3a49-4675-b88d-a67019fd3cca', 'rel': 'self'}, {'href': 'http://localhost/clusters/38011dd8-3a49-4675-b88d-a67019fd3cca', '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_nodegroup.TestDelete.test_delete_default_nodegroup -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_default_nodegroup ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_one -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_one ... 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_cluster.TestPatch.test_add_non_existent_property -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_add_non_existent_property ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_mandatory_property_fail -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_mandatory_property_fail ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_non_existent_property -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_non_existent_property ... ok - -DELETE: /v1/federations/federation-example -GOT:Response: 204 No Content -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version - -DELETE: /v1/federations/foo -GOT:Response: 404 Not Found +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-09-14T10:49:26.528369+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-09-14T10:49:26.569380+00:00', 'updated_at': None} +GET: /v1/clusters/test_cluster {} +GOT:Response: 409 Conflict Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation foo could not be found", "detail": "Federation foo could not be found.", "links": []}]} -PATCH: /v1/federations/e5e4478a-bf06-4db3-889b-1035d6be9ff8 [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'add'}] -GOT:Response: 409 Conflict +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Multiple clusters exist with same name", "detail": "Multiple clusters exist with same name. Please use the cluster uuid instead.", "links": []}]} +GET: /v1/clusters/not_found {} +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 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/52248135-b40a-4676-adb8-7351eccbcd90 [{'path': '/member_ids', 'value': '94ca9868-4846-48a5-a958-22ecc8716b7a', 'op': 'add'}] +{"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/62d32ba8-c5ee-4804-94bf-c6e6a4225e41 {} +GOT:{'uuid': '62d32ba8-c5ee-4804-94bf-c6e6a4225e41', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/62d32ba8-c5ee-4804-94bf-c6e6a4225e41', 'rel': 'self'}, {'href': 'http://localhost/clusters/62d32ba8-c5ee-4804-94bf-c6e6a4225e41', '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-09-14T10:49:26.662516+00:00', 'updated_at': None} +GET: /v1/clusters/7bdcde59-6c6b-416e-9af6-b3e0833f4d1a {} +GOT:{'uuid': '7bdcde59-6c6b-416e-9af6-b3e0833f4d1a', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/7bdcde59-6c6b-416e-9af6-b3e0833f4d1a', 'rel': 'self'}, {'href': 'http://localhost/clusters/7bdcde59-6c6b-416e-9af6-b3e0833f4d1a', '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': '7bdcde59-6c6b-416e-9af6-b3e0833f4d1a', '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-09-14T10:49:26.707639+00:00', 'updated_at': None} +GET: /v1/clusters/391f972a-2bc0-44e9-b226-4b5f2f80a725 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 94ca9868-4846-48a5-a958-22ecc8716b7a could not be found", "detail": "Cluster 94ca9868-4846-48a5-a958-22ecc8716b7a could not be found.", "links": []}]} -PATCH: /v1/federations/bc55198c-dbc1-441f-aadc-aa9822876fea [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'add'}] -GOT:Response: 202 Accepted +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 391f972a-2bc0-44e9-b226-4b5f2f80a725 could not be found", "detail": "Cluster 391f972a-2bc0-44e9-b226-4b5f2f80a725 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-09-14T10:49:26.777025+00:00', 'updated_at': None} +GET: /v1/clusters/23d24db4-7428-4454-97ed-de30e0c66c61 {} +GOT:{'uuid': '23d24db4-7428-4454-97ed-de30e0c66c61', 'name': 'cluster1', 'cluster_template_id': '30378477-449e-466b-b488-4a7f78fea907', '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/23d24db4-7428-4454-97ed-de30e0c66c61', 'rel': 'self'}, {'href': 'http://localhost/clusters/23d24db4-7428-4454-97ed-de30e0c66c61', '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-09-14T10:49:26.822342+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_nodegroup.TestDelete.test_delete_by_name_not_found +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_by_name_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_links +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_links ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_default_nodegroup +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_default_nodegroup ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_many +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_many ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_nodegroup +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_nodegroup ... 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.TestDelete.test_delete_nodegroup_as_admin +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_nodegroup_as_admin ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_add_non_existent_property +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_add_non_existent_property ... ok + +GET: /v1/clusters/b60fc5e8-1192-4ad5-9272-89969c9c4548 {} +GOT:{'uuid': 'b60fc5e8-1192-4ad5-9272-89969c9c4548', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/b60fc5e8-1192-4ad5-9272-89969c9c4548', 'rel': 'self'}, {'href': 'http://localhost/clusters/b60fc5e8-1192-4ad5-9272-89969c9c4548', '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-09-14T10:49:26.905414+00:00', 'updated_at': None} +GET: /v1/clusters/b60fc5e8-1192-4ad5-9272-89969c9c4548 {} +GOT:{'uuid': 'b60fc5e8-1192-4ad5-9272-89969c9c4548', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/b60fc5e8-1192-4ad5-9272-89969c9c4548', 'rel': 'self'}, {'href': 'http://localhost/clusters/b60fc5e8-1192-4ad5-9272-89969c9c4548', '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-09-14T10:49:26.905414+00:00', 'updated_at': None} +GET: /clusters/b60fc5e8-1192-4ad5-9272-89969c9c4548 {} +GOT:{'uuid': 'b60fc5e8-1192-4ad5-9272-89969c9c4548', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/b60fc5e8-1192-4ad5-9272-89969c9c4548', 'rel': 'self'}, {'href': 'http://localhost/clusters/b60fc5e8-1192-4ad5-9272-89969c9c4548', '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-09-14T10:49:26.905414+00:00', 'updated_at': None} +GET: /v1/clusters {} +GOT:{'clusters': [{'uuid': 'f4cf76ef-50e4-4293-a123-1a530246210a', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/f4cf76ef-50e4-4293-a123-1a530246210a', 'rel': 'self'}, {'href': 'http://localhost/clusters/f4cf76ef-50e4-4293-a123-1a530246210a', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '21fe47d5-12cd-47b8-b431-91a90cdbe8d6', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/21fe47d5-12cd-47b8-b431-91a90cdbe8d6', 'rel': 'self'}, {'href': 'http://localhost/clusters/21fe47d5-12cd-47b8-b431-91a90cdbe8d6', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '475a15bf-157b-46bb-b606-b2bd54217a3f', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/475a15bf-157b-46bb-b606-b2bd54217a3f', 'rel': 'self'}, {'href': 'http://localhost/clusters/475a15bf-157b-46bb-b606-b2bd54217a3f', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '19998508-02fb-4e5a-908f-d9f88b1f7cc2', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/19998508-02fb-4e5a-908f-d9f88b1f7cc2', 'rel': 'self'}, {'href': 'http://localhost/clusters/19998508-02fb-4e5a-908f-d9f88b1f7cc2', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '9cf6bac9-f9b1-4ca5-b61d-d981ef863046', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/9cf6bac9-f9b1-4ca5-b61d-d981ef863046', 'rel': 'self'}, {'href': 'http://localhost/clusters/9cf6bac9-f9b1-4ca5-b61d-d981ef863046', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}]} +GET: /v1/clusters {} +GOT:{'clusters': [{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "bc55198c-dbc1-441f-aadc-aa9822876fea"} -GET: /v1/federations/bc55198c-dbc1-441f-aadc-aa9822876fea {} -GOT:{'uuid': 'bc55198c-dbc1-441f-aadc-aa9822876fea', '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/bc55198c-dbc1-441f-aadc-aa9822876fea', 'rel': 'self'}, {'href': 'http://localhost/federations/bc55198c-dbc1-441f-aadc-aa9822876fea', 'rel': 'bookmark'}], 'created_at': '2026-10-17T17:08:40.088193+00:00', 'updated_at': '2026-10-17T17:08:40.126169+00:00'} -PATCH: /v1/federations/eab24c7f-b982-4e2d-be88-4fb4360ad19d [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'remove'}] +{"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_nodegroup.TestDelete.test_delete_nodegroup_by_name +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_nodegroup_by_name ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_non_existent_property +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_non_existent_property ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_not_found +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_wrong_microversion +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_wrong_microversion ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_ok ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all ... 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_nodegroup.TestListNodegroups.test_get_all_api_major_version_above_range +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_api_major_version_above_range ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_cluster_template_id_failed +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_cluster_template_id_failed ... ok + +PATCH: /v1/federations/f3b961cb-7d19-4079-880c-12d84dd169d0 [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'remove'}] GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "eab24c7f-b982-4e2d-be88-4fb4360ad19d"} -GET: /v1/federations/eab24c7f-b982-4e2d-be88-4fb4360ad19d {} -GOT:{'uuid': 'eab24c7f-b982-4e2d-be88-4fb4360ad19d', '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/eab24c7f-b982-4e2d-be88-4fb4360ad19d', 'rel': 'self'}, {'href': 'http://localhost/federations/eab24c7f-b982-4e2d-be88-4fb4360ad19d', 'rel': 'bookmark'}], 'created_at': '2026-10-17T17:08:40.171995+00:00', 'updated_at': '2026-10-17T17:08:40.190273+00:00'} -PATCH: /v1/federations/3264c866-49e1-4868-a83d-ae48b01a022f [{'path': '/member_ids', 'value': '4396d2f7-8bef-4b22-ae95-f39bcaeef9b0', 'op': 'remove'}] +{"uuid": "f3b961cb-7d19-4079-880c-12d84dd169d0"} +GET: /v1/federations/f3b961cb-7d19-4079-880c-12d84dd169d0 {} +GOT:{'uuid': 'f3b961cb-7d19-4079-880c-12d84dd169d0', '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/f3b961cb-7d19-4079-880c-12d84dd169d0', 'rel': 'self'}, {'href': 'http://localhost/federations/f3b961cb-7d19-4079-880c-12d84dd169d0', 'rel': 'bookmark'}], 'created_at': '2025-09-14T10:49:26.715120+00:00', 'updated_at': '2025-09-14T10:49:26.733039+00:00'} +PATCH: /v1/federations/a9f4d705-f6c1-4e12-bf0b-2513b811ee74 [{'path': '/member_ids', 'value': '950ab119-d79f-405f-8f8d-92590535ffb3', 'op': 'remove'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 4396d2f7-8bef-4b22-ae95-f39bcaeef9b0 could not be found", "detail": "Cluster 4396d2f7-8bef-4b22-ae95-f39bcaeef9b0 could not be found.", "links": []}]} -PATCH: /v1/federations/baf03c75-c4f6-4181-9939-5f0bc9d3b72f [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'remove'}] +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 950ab119-d79f-405f-8f8d-92590535ffb3 could not be found", "detail": "Cluster 950ab119-d79f-405f-8f8d-92590535ffb3 could not be found.", "links": []}]} +PATCH: /v1/federations/27e1c9e9-2d6e-44e8-85c9-e485f2dbe456 [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'remove'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 @@ -5578,7 +5349,7 @@ Openstack-Api-Version: container-infra 1.12 Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup not-there could not be found", "detail": "Nodegroup not-there could not be found.", "links": []}]} -DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/799bd9b9-3cf0-46ed-a67c-430092eeb4f9 +DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/50d255c0-726f-468a-a0c1-855c882f61f5 GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 @@ -5601,42 +5372,14 @@ Openstack-Api-Version: container-infra 1.12 Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup 483203a3-dbee-4a9c-9d65-9820512f4df8 could not be found", "detail": "Nodegroup 483203a3-dbee-4a9c-9d65-9820512f4df8 could not be found.", "links": []}]} -DELETE: /v1/clusters/d0f170b9-c4d9-4fc8-85b7-fc71169ead71/nodegroups/feefc0f1-b84a-4dd3-9581-b400316d9998 +DELETE: /v1/clusters/8bb8110f-aa16-47f7-b8ef-b16c446b3c28/nodegroups/72e50798-87ac-4cc1-afc0-f26e0b5bb3bb GOT:Response: 204 No Content Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.12 Vary: OpenStack-API-Version -DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_nodegroup_by_name -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_nodegroup_by_name ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_not_found -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_wrong_microversion -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_wrong_microversion ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_ok ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_api_major_version_above_range -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_api_major_version_above_range ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_api_minor_version_above_range -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_api_minor_version_above_range ... ok -magnum.tests.unit.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_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 -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 - +DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 GOT:Response: 204 No Content Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 @@ -5651,21 +5394,21 @@ Openstack-Api-Version: container-infra 1.12 Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup nodegroup1 could not be found", "detail": "Nodegroup nodegroup1 could not be found.", "links": []}]} -DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/43113660-c3b5-4ed0-9781-97401d5a2a18 +DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/5b4a2805-f7a4-450c-884f-fde32c9174c8 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.12 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup 43113660-c3b5-4ed0-9781-97401d5a2a18 could not be found", "detail": "Nodegroup 43113660-c3b5-4ed0-9781-97401d5a2a18 could not be found.", "links": []}]} +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup 5b4a2805-f7a4-450c-884f-fde32c9174c8 could not be found", "detail": "Nodegroup 5b4a2805-f7a4-450c-884f-fde32c9174c8 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/6a5c43e8-ae74-45d9-9702-c3f9814cba1b/nodegroups {} -GOT:{'nodegroups': [{'uuid': '4ca3d061-0a1c-4e68-b33c-a868e526809e', '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': 'caf8bbb0-d85e-423b-af92-c811eeb29bf6', '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/4a9aef77-7bd8-408c-94b9-39b1ad71d243/nodegroups/ {} +GET: /v1/clusters/c4c0d160-92b8-4977-b471-c70cf6dbfe5d/nodegroups {} +GOT:{'nodegroups': [{'uuid': '5e2eb197-c1d9-44af-9229-52483c7f7785', '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': 'faa3a648-0f6a-49d3-92f5-8afd0087d698', '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/0d3fb432-0dcc-442e-a9d3-9a18ffbfde70/nodegroups/ {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 @@ -5673,322 +5416,30 @@ Openstack-Api-Version: container-infra 2.11 Vary: OpenStack-API-Version {"errors": [{"max_version": "1.12", "min_version": "1.1", "code": "magnum.microversion-unsupported", "links": [{"rel": "help", "href": "http://docs.openstack.org/api-guide/compute/microversions.html"}], "title": "Requested microversion is unsupported"}]} -GET: /v1/clusters/b1416b25-8999-4087-b99c-a20dedc5e19f/nodegroups/ {} +GET: /v1/clusters/22c9f2a2-649f-4727-af2a-a0f75d9a3627/nodegroups/ {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.999 Vary: OpenStack-API-Version -{"errors": [{"max_version": "1.12", "min_version": "1.1", "code": "magnum.microversion-unsupported", "links": [{"rel": "help", "href": "http://docs.openstack.org/api-guide/compute/microversions.html"}], "title": "Requested microversion is unsupported"}]} -GET: /v1/clusters/9dadab17-8f3d-4835-b26e-82a8bd4a3ec4/nodegroups {} -GOT:{'nodegroups': [{'uuid': '49087d79-1d99-4962-941e-23947d663193', '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': 'f630e8ef-4652-4ed8-ab3b-7eee0ecd0727', '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': '0c6afa09-b7b0-47e6-808f-17cf98e03952', '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': 'ffe712cf-3630-4ac6-bab8-981bd83d441b', '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': 'b712f52c-9e4b-4de2-8d45-d7841a283752', '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': 'a126f001-0498-41a7-88c4-15eef425a2f6', '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': 'd4068f5b-6f3a-4cce-851f-b6648a750d65', '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': 'afa18bc5-d386-44a0-a850-57f456b2da79', 'name': 'test-worker', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'worker', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}]} -GET: /v1/clusters/not-here/nodegroups {} -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not-here could not be found", "detail": "Cluster not-here could not be found.", "links": []}]} -GET: /v1/clusters/29ca20ff-d120-4a8e-8f09-7df0eae3cb5c/nodegroups?limit=1 {} -GOT:{'nodegroups': [{'uuid': 'f026b052-431a-4d3c-b79e-6d6e882183aa', '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/29ca20ff-d120-4a8e-8f09-7df0eae3cb5c/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=f026b052-431a-4d3c-b79e-6d6e882183aa'} -GET: /v1/clusters/29ca20ff-d120-4a8e-8f09-7df0eae3cb5c/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=f026b052-431a-4d3c-b79e-6d6e882183aa {} -GOT:{'nodegroups': [{'uuid': '57a0ea01-83d9-4b3b-be5a-acb9f006df43', '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/29ca20ff-d120-4a8e-8f09-7df0eae3cb5c/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=57a0ea01-83d9-4b3b-be5a-acb9f006df43'}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_with_pagination_marker -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_with_pagination_marker ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_wrong_microversion -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_wrong_microversion ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_as_admin -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_as_admin ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_non_default -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_non_default ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_non_default_skipped_labels -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_non_default_skipped_labels ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_non_existent_ng -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_non_existent_ng ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_wrong_microversion -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_wrong_microversion ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.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.TestPatch.test_replace_cluster_template_id_failed -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_cluster_template_id_failed ... ok - -GET: /v1/clusters/29ca20ff-d120-4a8e-8f09-7df0eae3cb5c/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=57a0ea01-83d9-4b3b-be5a-acb9f006df43 {} -GOT:{'nodegroups': []} -GET: /v1/clusters/0636dc13-80f8-4992-b0cd-c3961036d2d8/nodegroups/ {} -GOT:Response: 406 Not Acceptable -Content-Type: application/json -{"errors": [{"request_id": "", "code": "", "status": 406, "title": "", "detail": "", "links": []}]} -GET: /v1/clusters/6916c3cc-0179-423d-ad98-7b6a445a56d8/nodegroups/0ca26512-c4a3-40a7-97a9-518717a5b63d {} -GOT:{'id': 1, 'uuid': '0ca26512-c4a3-40a7-97a9-518717a5b63d', 'name': 'test-worker', 'cluster_id': '6916c3cc-0179-423d-ad98-7b6a445a56d8', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/6916c3cc-0179-423d-ad98-7b6a445a56d8/nodegroups/0ca26512-c4a3-40a7-97a9-518717a5b63d', 'rel': 'self'}, {'href': 'http://localhost/clusters/6916c3cc-0179-423d-ad98-7b6a445a56d8/nodegroups/0ca26512-c4a3-40a7-97a9-518717a5b63d', '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-10-17T17:08:41.131821+00:00', 'updated_at': None} -GET: /v1/clusters/b65243b0-7c5b-4335-a8d7-4a22162d65cb/nodegroups/c11f45dd-6782-4290-b9e4-8a35bdfe2653 {} -GOT:{'id': 3, 'uuid': 'c11f45dd-6782-4290-b9e4-8a35bdfe2653', 'name': 'test-worker', 'cluster_id': 'b65243b0-7c5b-4335-a8d7-4a22162d65cb', 'project_id': 'b65243b0-7c5b-4335-a8d7-4a22162d65cb', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/b65243b0-7c5b-4335-a8d7-4a22162d65cb/nodegroups/c11f45dd-6782-4290-b9e4-8a35bdfe2653', 'rel': 'self'}, {'href': 'http://localhost/clusters/b65243b0-7c5b-4335-a8d7-4a22162d65cb/nodegroups/c11f45dd-6782-4290-b9e4-8a35bdfe2653', '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-10-17T17:08:41.182306+00:00', 'updated_at': None} -GET: /v1/clusters/47322823-d862-445f-844a-9cd9ab28030e/nodegroups/non_default_ng {} -GOT:{'id': 3, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'non_default_ng', 'cluster_id': '47322823-d862-445f-844a-9cd9ab28030e', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {'label1': 'value3', 'label2': 'value2', 'label4': 'value4'}, 'links': [{'href': 'http://localhost/v1/clusters/47322823-d862-445f-844a-9cd9ab28030e/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/47322823-d862-445f-844a-9cd9ab28030e/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-10-17T17:08:41.225334+00:00', 'updated_at': None} -GET: /v1/clusters/52062029-d555-467d-958b-3e0dec2f5d55/nodegroups/non_default_ng {} -GOT:{'id': 3, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'non_default_ng', 'cluster_id': '52062029-d555-467d-958b-3e0dec2f5d55', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {'label1': 'value3', 'label4': 'value4'}, 'links': [{'href': 'http://localhost/v1/clusters/52062029-d555-467d-958b-3e0dec2f5d55/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/52062029-d555-467d-958b-3e0dec2f5d55/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-10-17T17:08:41.260176+00:00', 'updated_at': None} -GET: /v1/clusters/c861b747-80c6-4211-976e-db139b32a1cb/nodegroups/not-here {} -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup not-here could not be found", "detail": "Nodegroup not-here could not be found.", "links": []}]} -GET: /v1/clusters/b5251df3-295a-4efa-aa55-7b8c64cdc8ba/nodegroups/93a04574-abaa-4853-bef5-58bb6d6d414c {} -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.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/node_count' is an internal attribute and can not be updated", "detail": "'/node_count' is an internal attribute and can not be updated", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/min_node_count', 'op': 'remove'}] -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -Vary: OpenStack-API-Version -{"id": 12, "uuid": "483203a3-dbee-4a9c-9d65-9820512f4df8", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 2, "role": "worker", "min_node_count": 0, "max_node_count": 5, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2026-10-17T17:08:41.383388+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-10-17T17:08:41.383388+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_min_node_count -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_min_node_count ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_non_existent_property -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_non_existent_property ... ok -magnum.tests.unit.api.controllers.v1.test_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_nodegroup.TestPatch.test_replace_ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_ok ... ok - -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/not_there', 'op': 'remove'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Couldn't apply patch '[{'path': '/not_there', 'op': 'remove'}]'", "detail": "Couldn't apply patch '[{'path': '/not_there', 'op': 'remove'}]'. Reason: can't remove a non-existent object 'not_there'", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/max_node_count', 'op': 'remove'}] -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -Vary: OpenStack-API-Version -{"id": 12, "uuid": "483203a3-dbee-4a9c-9d65-9820512f4df8", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 2, "role": "worker", "min_node_count": 2, "max_node_count": null, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2026-10-17T17:08:41.477214+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-10-17T17:08:41.477214+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.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "max_node_count for nodegroup1 is invalid (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.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "min_node_count for nodegroup1 is invalid (min_node_count (3) should be less or equal to node_count (2))", "detail": "min_node_count for nodegroup1 is invalid (min_node_count (3) should be less or equal to node_count (2)).", "links": []}]} -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.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/node_count' is an internal attribute and can not be updated", "detail": "'/node_count' is an internal attribute and can not be updated", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/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.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -Vary: OpenStack-API-Version -{"id": 12, "uuid": "483203a3-dbee-4a9c-9d65-9820512f4df8", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 2, "role": "worker", "min_node_count": 2, "max_node_count": 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-10-17T17:08:41.628463+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-10-17T17:08:41.628463+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.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -Vary: OpenStack-API-Version -{"id": 12, "uuid": "483203a3-dbee-4a9c-9d65-9820512f4df8", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 2, "role": "worker", "min_node_count": 2, "max_node_count": 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-10-17T17:08:41.680828+00:00", "updated_at": null}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_ok_by_name -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_ok_by_name ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_wrong_microversion -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_wrong_microversion ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_update_nodegroup_as_admin -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_update_nodegroup_as_admin ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_invalid_hard_limit -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_invalid_hard_limit ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_invalid_resource -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_invalid_resource ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_no_project_id -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_no_project_id ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_project_id_not_found -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_project_id_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_zero_quota -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_zero_quota ... ok -magnum.tests.unit.api.controllers.v1.test_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 - -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-10-17T17:08:41.680828+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/4b7558eb-1518-4630-a6da-07da292697c2/nodegroups/f30ef382-27a5-4b67-a17d-1429832804ea [{'path': '/max_node_count', 'value': 4, 'op': 'replace'}] -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -Vary: OpenStack-API-Version -{"id": 50, "uuid": "f30ef382-27a5-4b67-a17d-1429832804ea", "name": "nodegroup1", "cluster_id": "4b7558eb-1518-4630-a6da-07da292697c2", "project_id": "fake", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/4b7558eb-1518-4630-a6da-07da292697c2/nodegroups/f30ef382-27a5-4b67-a17d-1429832804ea", "rel": "self"}, {"href": "http://localhost/clusters/4b7558eb-1518-4630-a6da-07da292697c2/nodegroups/f30ef382-27a5-4b67-a17d-1429832804ea", "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-10-17T17:08:41.770534+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.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2026-10-17T17:08:41.861056+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.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute 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.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute 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.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "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.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "The 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.12 -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-10-17T17:08:41.940962+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.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2026-10-17T17:08:41.956293+00:00", "updated_at": null} -DELETE: /v1/quotas/fake_project/Cluster -GOT:Response: 204 No Content -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version - -GET: /v1/quotas/fake_project/Cluster {} -GOT:Response: 200 OK -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"hard_limit": 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-10-17T17:08:41.997444+00:00', 'updated_at': None}, {'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2026-10-17T17:08:41.998748+00:00', 'updated_at': None}, {'id': 3, 'hard_limit': 10, 'project_id': 'proj-id-2', 'resource': 'Cluster', 'created_at': '2026-10-17T17:08:41.999912+00:00', 'updated_at': None}, {'id': 4, 'hard_limit': 10, 'project_id': 'proj-id-3', 'resource': 'Cluster', 'created_at': '2026-10-17T17:08:42.000964+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-10-17T17:08:42.021065+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-10-17T17:08:42.042732+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-10-17T17:08:42.062475+00:00', 'updated_at': None}]}magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_not_all_tenants -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_not_all_tenants ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_non_admin -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_non_admin ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_with_non_admin_context -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_with_non_admin_context ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_with_pagination_limit -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_with_pagination_limit ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_no_config_default -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_no_config_default ... ok +{"errors": [{"max_version": "1.12", "min_version": "1.1", "code": "magnum.microversion-unsupported", "links": [{"rel": "help", "href": "http://docs.openstack.org/api-guide/compute/microversions.html"}], "title": "Requested microversion is unsupported"}]}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_api_minor_version_above_range +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_api_minor_version_above_range ... ok +magnum.tests.unit.api.controllers.v1.test_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_cluster.TestPatch.test_replace_health_status_ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_health_status_ok ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_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_cluster.TestPatch.test_replace_invalid_node_count +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_invalid_node_count ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_role +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_role ... 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.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Adding a new attribute /foo to the root of the resource is not allowed", "detail": "Adding a new attribute /foo to the root of the resource is not allowed.", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 @@ -6013,7 +5464,7 @@ Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Couldn't apply patch '[{'path': '/non-existent', 'op': 'remove'}]'", "detail": "Couldn't apply patch '[{'path': '/non-existent', 'op': 'remove'}]'. Reason: can't remove a non-existent object 'non-existent'", "links": []}]} GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'UNKNOWN', 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-10-17T17:08:40.538021+00:00', 'updated_at': None} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'UNKNOWN', 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-09-14T10:49:27.304623+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 @@ -6023,7 +5474,7 @@ Vary: OpenStack-API-Version {"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 1, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'UPDATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'UNKNOWN', 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-10-17T17:08:40.538021+00:00', 'updated_at': '2026-10-17T17:08:40.605808+00:00'} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 1, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'UPDATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'UNKNOWN', 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-09-14T10:49:27.304623+00:00', 'updated_at': '2025-09-14T10:49:27.368805+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 @@ -6032,7 +5483,7 @@ Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 400, "title": "cannot change cluster property(ies) name", "detail": "cannot change cluster property(ies) name.", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/cluster_template_id', 'value': '7ac02406-5475-4a54-bc61-c47a9ebf9c28', 'op': 'replace'}] +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/cluster_template_id', 'value': '35b99958-be19-4e82-80f8-adea19bdad2d', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 @@ -6049,196 +5500,112 @@ 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-10-17T17:08:41.662600+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'}magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_health_status_ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_health_status_ok ... ok -magnum.tests.unit.api.controllers.v1.test_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_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_patch_quota -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_patch_quota ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_patch_quota_not_found -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_patch_quota_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_non_existent_cluster +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-09-14T10:49:27.506492+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/node_count', 'value': -1, 'op': 'replace'}] +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 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/b45df3dd-40eb-4c01-b5d6-fbe1621c23ea [{'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 -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: 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:371: 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:371: 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:371: 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_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.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_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:371: 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:371: 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:371: 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:371: 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:371: 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:371: 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:371: 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:371: 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_nodegroup.TestListNodegroups.test_get_all_with_pagination_marker +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_with_pagination_marker ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok ... 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:371: 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:371: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_invalid_type_stats -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_invalid_type_stats ... ok -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: 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:371: 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:371: 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:371: 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:371: 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:371: 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:371: 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:371: 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:371: 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:371: 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:371: 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:371: 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_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.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_nodegroup.TestListNodegroups.test_get_one_as_admin +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_as_admin ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_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_types.TestJsonPatchType.test_cannot_add_internal_attr -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_add_internal_attr ... ok magnum.tests.unit.api.controllers.v1.test_cluster.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_types.TestJsonPatchType.test_cannot_add_with_no_value -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_add_with_no_value ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_extra_non_removable_attr -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_extra_non_removable_attr ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_internal_attr -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_internal_attr ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_mandatory_attr -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_mandatory_attr ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_replace_with_no_value -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_replace_with_no_value ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_update_internal_attr -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_update_internal_attr ... ok + +GET: /v1/clusters/12a405b6-6d66-4d9e-8675-8319378a4560/nodegroups {} +GOT:{'nodegroups': [{'uuid': '11209796-1635-45a9-8808-6ce97fe69093', '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': '89f05c6f-efdb-4386-8caa-d6332f815e23', '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': '83f92ac8-a638-4beb-93e5-7873ba7821b4', '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': '107f7aae-f551-4902-bc18-1f253e8c6a8a', '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': '19e0209a-e263-40ae-ae69-7ef6e8459f60', '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': '3f5093b3-6edf-44f0-b599-8375df3a2097', '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': 'd823c0d8-215f-4224-bf2a-143d88ed1821', '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': 'd8638b0b-2b34-436e-951d-c775c82a9566', 'name': 'test-worker', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'worker', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}]} +GET: /v1/clusters/not-here/nodegroups {} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not-here could not be found", "detail": "Cluster not-here could not be found.", "links": []}]} +GET: /v1/clusters/884ef8d7-040d-47da-8e1c-45ffc245749e/nodegroups?limit=1 {} +GOT:{'nodegroups': [{'uuid': '20aaea52-4bf9-4ad6-9dd7-de355c67dfde', '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/884ef8d7-040d-47da-8e1c-45ffc245749e/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=20aaea52-4bf9-4ad6-9dd7-de355c67dfde'} +GET: /v1/clusters/884ef8d7-040d-47da-8e1c-45ffc245749e/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=20aaea52-4bf9-4ad6-9dd7-de355c67dfde {} +GOT:{'nodegroups': [{'uuid': '531e28bc-2e9a-4206-bec4-289080fb006f', '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/884ef8d7-040d-47da-8e1c-45ffc245749e/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=531e28bc-2e9a-4206-bec4-289080fb006f'} +GET: /v1/clusters/884ef8d7-040d-47da-8e1c-45ffc245749e/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=531e28bc-2e9a-4206-bec4-289080fb006f {} +GOT:{'nodegroups': []} +GET: /v1/clusters/60391fd6-770e-41cc-ac39-e438c3735764/nodegroups/ {} +GOT:Response: 406 Not Acceptable +Content-Type: application/json +{"errors": [{"request_id": "", "code": "", "status": 406, "title": "", "detail": "", "links": []}]} +GET: /v1/clusters/21738a6b-c550-4a28-88c8-fadff398cd68/nodegroups/a4e963ad-d5d6-4dab-bfcc-422f5e87bf63 {} +GOT:{'id': 1, 'uuid': 'a4e963ad-d5d6-4dab-bfcc-422f5e87bf63', 'name': 'test-worker', 'cluster_id': '21738a6b-c550-4a28-88c8-fadff398cd68', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/21738a6b-c550-4a28-88c8-fadff398cd68/nodegroups/a4e963ad-d5d6-4dab-bfcc-422f5e87bf63', 'rel': 'self'}, {'href': 'http://localhost/clusters/21738a6b-c550-4a28-88c8-fadff398cd68/nodegroups/a4e963ad-d5d6-4dab-bfcc-422f5e87bf63', '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-09-14T10:49:27.891313+00:00', 'updated_at': None} +GET: /v1/clusters/a0fee049-f8e8-4b93-9bd8-8d30c5378a5d/nodegroups/d8e4f78a-fe9a-4fd4-b063-fca349a5b2b4 {} +GOT:{'id': 3, 'uuid': 'd8e4f78a-fe9a-4fd4-b063-fca349a5b2b4', 'name': 'test-worker', 'cluster_id': 'a0fee049-f8e8-4b93-9bd8-8d30c5378a5d', 'project_id': 'a0fee049-f8e8-4b93-9bd8-8d30c5378a5d', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/a0fee049-f8e8-4b93-9bd8-8d30c5378a5d/nodegroups/d8e4f78a-fe9a-4fd4-b063-fca349a5b2b4', 'rel': 'self'}, {'href': 'http://localhost/clusters/a0fee049-f8e8-4b93-9bd8-8d30c5378a5d/nodegroups/d8e4f78a-fe9a-4fd4-b063-fca349a5b2b4', '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-09-14T10:49:27.936298+00:00', 'updated_at': None} +GET: /v1/clusters/cd3fd78a-e85d-44b9-b5e1-efc951b7a0dd/nodegroups/non_default_ng {} +GOT:{'id': 3, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'non_default_ng', 'cluster_id': 'cd3fd78a-e85d-44b9-b5e1-efc951b7a0dd', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {'label1': 'value3', 'label2': 'value2', 'label4': 'value4'}, 'links': [{'href': 'http://localhost/v1/clusters/cd3fd78a-e85d-44b9-b5e1-efc951b7a0dd/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/cd3fd78a-e85d-44b9-b5e1-efc951b7a0dd/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-09-14T10:49:27.981443+00:00', 'updated_at': None}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_non_default +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_non_default ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_non_default_skipped_labels +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_non_default_skipped_labels ... ok magnum.tests.unit.api.controllers.v1.test_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_types.TestJsonPatchType.test_invalid_op -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_invalid_op ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_invalid_path -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_invalid_path ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_missing_required_fields_op -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_missing_required_fields_op ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_missing_required_fields_path -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_missing_required_fields_path ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_update_mandatory_attr -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_update_mandatory_attr ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_valid_patches -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_valid_patches ... ok +magnum.tests.unit.api.controllers.v1.test_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_nodegroup.TestNodegroupObject.test_nodegroup_init +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestNodegroupObject.test_nodegroup_init ... ok magnum.tests.unit.api.controllers.v1.test_cluster.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.TestMacAddressType.test_frombasetype -magnum.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_frombasetype ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_frombasetype_no_value -magnum.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_frombasetype_no_value ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_invalid_mac_addr -magnum.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_invalid_mac_addr ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_valid_mac_addr -magnum.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_valid_mac_addr ... ok -magnum.tests.unit.api.controllers.v1.test_types.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_nodegroup.TestPost.test_create_master_ng +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_master_ng ... ok magnum.tests.unit.api.controllers.v1.test_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.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_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.controllers.v1.test_nodegroup.TestPost.test_create_ng_cluster_no_api_address +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_cluster_no_api_address ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_same_name +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_same_name ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_zero_node_count +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_zero_node_count ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_with_labels +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_with_labels ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_with_merge_labels +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_with_merge_labels ... ok -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/node_count', 'value': -1, 'op': 'replace'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 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/1b05f2de-5215-4cf4-883c-29a491864a6c [{'path': '/name', 'value': 'cluster_example_B', 'op': 'replace'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 1b05f2de-5215-4cf4-883c-29a491864a6c could not be found", "detail": "Cluster 1b05f2de-5215-4cf4-883c-29a491864a6c could not be found.", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/cluster_template_id', 'value': '4b8bf7ad-5dea-4bf0-8eb5-1e77f2c25259', 'op': 'replace'}] +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster b45df3dd-40eb-4c01-b5d6-fbe1621c23ea could not be found", "detail": "Cluster b45df3dd-40eb-4c01-b5d6-fbe1621c23ea could not be found.", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/cluster_template_id', 'value': 'ba5ec534-c023-4826-bc25-e3662339bd97', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 @@ -6255,7 +5622,7 @@ Vary: OpenStack-API-Version {"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 4, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'UPDATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'UNKNOWN', 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-10-17T17:08:42.471261+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 4, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'UPDATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'UNKNOWN', 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-09-14T10:49:27.784762+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 @@ -6265,7 +5632,7 @@ Vary: OpenStack-API-Version {"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 4, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'UPDATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'UNKNOWN', 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-10-17T17:08:42.912688+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 4, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'UPDATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'UNKNOWN', 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-09-14T10:49:27.860949+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 @@ -6282,22 +5649,22 @@ Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not_found could not be found", "detail": "Cluster not_found could not be found.", "links": []}]} -PATCH: /v1/clusters/b641503b-ae40-44a1-8ee9-950f99441267 [{'path': '/cluster_id', 'value': 'b641503b-ae40-44a1-8ee9-950f99441267', 'op': 'replace'}] +PATCH: /v1/clusters/e8cba82c-579b-4b49-b3a6-251ad35ec5b0 [{'path': '/cluster_id', 'value': 'e8cba82c-579b-4b49-b3a6-251ad35ec5b0', 'op': 'replace'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster b641503b-ae40-44a1-8ee9-950f99441267 could not be found", "detail": "Cluster b641503b-ae40-44a1-8ee9-950f99441267 could not be found.", "links": []}]} -PATCH: /v1/clusters/00eb05ed-f0ce-4cc4-8cd0-f247c8e4a53a [{'path': '/node_count', 'value': 4, 'op': 'replace'}] +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster e8cba82c-579b-4b49-b3a6-251ad35ec5b0 could not be found", "detail": "Cluster e8cba82c-579b-4b49-b3a6-251ad35ec5b0 could not be found.", "links": []}]} +PATCH: /v1/clusters/6ed65522-38d3-483e-9fdf-b2cc4178367e [{'path': '/node_count', 'value': 4, 'op': 'replace'}] GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "00eb05ed-f0ce-4cc4-8cd0-f247c8e4a53a"} +{"uuid": "6ed65522-38d3-483e-9fdf-b2cc4178367e"} 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 @@ -6321,125 +5688,109 @@ 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.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_old_update -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_old_update ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_update -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_update ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_forced_down -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_forced_down ... ok -magnum.tests.unit.cmd.test_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.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_zero_node_count_fail +{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/node_count', 'value': 0, 'op': 'replace'}] +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.9 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing a nodegroup to zero is not supported in the provided microversion", "detail": "Resizing a nodegroup to zero is not supported in the provided microversion.", "links": []}]}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.cmd.test_api.TestMagnumAPI.test_api_https_no_key -magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https_no_key ... ok -magnum.tests.unit.cmd.test_conductor.TestMagnumConductor.test_conductor -magnum.tests.unit.cmd.test_conductor.TestMagnumConductor.test_conductor ... ok -magnum.tests.unit.cmd.test_conductor.TestMagnumConductor.test_conductor_config_workers -magnum.tests.unit.cmd.test_conductor.TestMagnumConductor.test_conductor_config_workers ... ok -magnum.tests.unit.cmd.test_status.TestUpgradeChecks.test_checks -magnum.tests.unit.cmd.test_status.TestUpgradeChecks.test_checks ... ok -magnum.tests.unit.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_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.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:371: 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:371: FutureWarning: b"'fake-uuid'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_get_cert -magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_get_cert ... ok -magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_store_cert -magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_store_cert ... ok -magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_create_no_permission -magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_create_no_permission ... ok -magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_get_no_permission -magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_get_no_permission ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster ... 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 + +GET: /v1/clusters/1e13d6bb-4eba-4a4e-ac9f-0ead418ad9da/nodegroups/non_default_ng {} +GOT:{'id': 3, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'non_default_ng', 'cluster_id': '1e13d6bb-4eba-4a4e-ac9f-0ead418ad9da', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {'label1': 'value3', 'label4': 'value4'}, 'links': [{'href': 'http://localhost/v1/clusters/1e13d6bb-4eba-4a4e-ac9f-0ead418ad9da/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/1e13d6bb-4eba-4a4e-ac9f-0ead418ad9da/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-09-14T10:49:28.017838+00:00', 'updated_at': None} +GET: /v1/clusters/b4d2ae3d-7938-4946-9570-e38010280bf9/nodegroups/not-here {} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup not-here could not be found", "detail": "Nodegroup not-here could not be found.", "links": []}]} +GET: /v1/clusters/ee8a0d8f-f900-4137-8caa-51f38bad37a2/nodegroups/222c064e-cd27-454b-876d-0f37c257d7a0 {} +GOT:Response: 406 Not Acceptable +Content-Type: application/json +{"errors": [{"request_id": "", "code": "", "status": 406, "title": "", "detail": "", "links": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'master', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Creating master nodegroups is currently not supported", "detail": "Creating master nodegroups is currently not supported.", "links": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} +GOT:Response: 409 Conflict +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Cluster API address is not available yet", "detail": "Cluster API address is not available yet", "links": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'test-master', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} +GOT:Response: 409 Conflict +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "A node group with name test-master already exists in the cluster cluster1", "detail": "A node group with name test-master already exists in the cluster cluster1.", "links": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': {'label3': 'value3'}, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 +Vary: OpenStack-API-Version +{"id": 12, "uuid": "d0706c41-fa6b-4bac-b8cd-4583bf68c283", "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/d0706c41-fa6b-4bac-b8cd-4583bf68c283", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/d0706c41-fa6b-4bac-b8cd-4583bf68c283", "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-09-14T10:49:28.790733+00:00", "updated_at": null} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': {'label1': 'value3', 'label4': 'value4'}, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': True} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 +Vary: OpenStack-API-Version +{"id": 12, "uuid": "04a23b02-3896-47d2-9a71-2b801b6c7404", "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/04a23b02-3896-47d2-9a71-2b801b6c7404", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/04a23b02-3896-47d2-9a71-2b801b6c7404", "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-09-14T10:49:28.881670+00:00", "updated_at": null} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': True} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 +Vary: OpenStack-API-Version +{"id": 12, "uuid": "b95412ba-c327-4ae5-a0f7-1f9af4a27802", "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/b95412ba-c327-4ae5-a0f7-1f9af4a27802", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/b95412ba-c327-4ae5-a0f7-1f9af4a27802", "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-09-14T10:49:28.943289+00:00", "updated_at": null}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_with_merge_labels_no_labels +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_with_merge_labels_no_labels ... ok magnum.tests.unit.api.controllers.v1.test_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.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.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_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.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.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup ... ok magnum.tests.unit.api.controllers.v1.test_cluster.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.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_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_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.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_only_name +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_only_name ... ok magnum.tests.unit.api.controllers.v1.test_cluster.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.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.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_flavor +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_flavor ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.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_nodegroup.TestPost.test_create_nodegroup_with_image_id +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_image_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.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing a nodegroup to zero is not supported in the provided microversion", "detail": "Resizing a nodegroup to zero is not supported in the provided microversion.", "links": []}]} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -6447,7 +5798,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "8818b0b4-d8c4-4b40-8772-861b45580db8"} +{"uuid": "f18e294a-90ec-4986-b02b-07f963679c9c"} 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 @@ -6455,7 +5806,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "1a5d5bcd-074a-402a-a53e-5953bce6c6dd"} +{"uuid": "64d3d480-3a4f-414e-a301-ed5f7aafffad"} 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 @@ -6463,7 +5814,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "7ef36693-b73d-4bbe-a90e-98e67cd3997a"} +{"uuid": "683318bb-a5ee-4027-bf11-19cd312a6f69"} 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 @@ -6479,7 +5830,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "84495b38-f5f2-4f90-ac6c-3be96eb18bf4"} +{"uuid": "07c25a11-47ab-4296-8851-86233e7fb8ce"} 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 @@ -6495,7 +5846,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "ce2ef24b-c5f6-49dc-8ff1-448a129c43df"} +{"uuid": "66e65402-d4ee-4144-af2d-8eaaca4347be"} 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 @@ -6503,7 +5854,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "ddb7dbe5-5813-4383-859b-6167c9016357"} +{"uuid": "6bef45c1-2b2f-4d47-beda-432f8f05d392"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'clustermodel1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -6511,37 +5862,86 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "e51b2c2f-1e23-481e-a59d-d098c9e291d8"}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 +{"uuid": "8834ba82-a689-475b-a4c8-d73a911196c4"} +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.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"uuid": "b63936cc-7f58-4c81-85e7-be50a36a6205"}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.common.policies.test_magnum_service_policy.TestMagnumServicePolicy.test_get_all_no_permission -magnum.tests.unit.common.policies.test_magnum_service_policy.TestMagnumServicePolicy.test_get_all_no_permission ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_even_master_count magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_even_master_count ... ok -magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_create_no_permission -magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_create_no_permission ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_even_master_count_oldmicroversion magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_even_master_count_oldmicroversion ... ok -magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_delete_no_permission -magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_delete_no_permission ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_flavor_id -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_flavor_id ... 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 -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} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'new_ng', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} +GOT:Response: 406 Not Acceptable +Content-Type: application/json +{"errors": [{"request_id": "", "code": "", "status": 406, "title": "", "detail": "", "links": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 Vary: OpenStack-API-Version -{"uuid": "e00630a6-df5d-4a76-bb94-bea4fcaedf17"} +{"id": 12, "uuid": "e4805a93-48ff-450d-92cc-e914fa07a9a6", "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/e4805a93-48ff-450d-92cc-e914fa07a9a6", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/e4805a93-48ff-450d-92cc-e914fa07a9a6", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 7, 'role': 'worker', 'max_node_count': 5, 'min_node_count': 1, 'merge_labels': False} +GOT:Response: 409 Conflict +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "max_node_count for nodegroup1 is invalid (node_count (7) should be less or equal to max_node_count (5))", "detail": "max_node_count for nodegroup1 is invalid (node_count (7) should be less or equal to max_node_count (5)).", "links": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 2, 'role': 'worker', 'max_node_count': None, 'min_node_count': 3, 'merge_labels': False} +GOT:Response: 409 Conflict +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "min_node_count for nodegroup1 is invalid (min_node_count (3) should be less or equal to node_count (2))", "detail": "min_node_count for nodegroup1 is invalid (min_node_count (3) should be less or equal to node_count (2)).", "links": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'name': 'test_ng'} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 +Vary: OpenStack-API-Version +{"id": 3, "uuid": "c0e9e77f-a448-4211-a499-6fed06edf786", "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/c0e9e77f-a448-4211-a499-6fed06edf786", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/c0e9e77f-a448-4211-a499-6fed06edf786", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 1, "role": "worker", "min_node_count": 0, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': 'test_flavor', 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 +Vary: OpenStack-API-Version +{"id": 12, "uuid": "be427a08-27d8-4b4d-89d3-723cb83955a3", "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/be427a08-27d8-4b4d-89d3-723cb83955a3", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/be427a08-27d8-4b4d-89d3-723cb83955a3", "rel": "bookmark"}], "flavor_id": "test_flavor", "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 +Vary: OpenStack-API-Version +{"id": 12, "uuid": "c330f4bc-b4ae-4355-adb3-22768cc5dcd9", "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/c330f4bc-b4ae-4355-adb3-22768cc5dcd9", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/c330f4bc-b4ae-4355-adb3-22768cc5dcd9", "rel": "bookmark"}], "flavor_id": null, "image_id": "test_image", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': {'label1': 'value1'}, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_labels +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_labels ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_max_node_count +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_max_node_count ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_flavor_id +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_flavor_id ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_role +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_role ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.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_nodegroup.TestPost.test_create_nodegroup_with_zero_nodes +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_zero_nodes ... 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': 2, 'merge_labels': False} GOT:Response: 400 Bad Request Content-Type: application/json @@ -6565,7 +5965,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "5ce151ac-2c13-4383-b8d4-6d8920bd4ed0"} +{"uuid": "a38014de-22b1-4666-bb1b-46274b5fd60b"} 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 @@ -6597,65 +5997,68 @@ Openstack-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": []}]}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.policies.test_quota_policy.TestQuotaPolicy.test_create_no_permission -magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_create_no_permission ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_ext_network +{"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.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "test-net", "detail": "test-net", "links": []}]}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.policies.test_quota_policy.TestQuotaPolicy.test_delete_no_permission -magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_delete_no_permission ... ok +magnum.tests.unit.api.controllers.v1.test_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_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_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_cluster.TestPost.test_create_cluster_with_invalid_flavor_disk_size +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_flavor_disk_size ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_keypair +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_keypair ... ok -GET: /v1/quotas {} -GOT:{'quotas': [{'id': 3, 'hard_limit': 10, 'project_id': 'proj-id-2', 'resource': 'Cluster', 'created_at': '2026-10-17T17:08:42.083926+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-10-17T17:08:42.122031+00:00', 'updated_at': None}, {'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2026-10-17T17:08:42.123267+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-10-17T17:08:42.143104+00:00', 'updated_at': None} -GET: /v1/quotas/fake_project/Cluster {} -GOT:Response: 200 OK +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 Vary: OpenStack-API-Version -{"hard_limit": 20, "project_id": "fake_project", "resource": "Cluster"} -GET: /v1/quotas/invalid_proj/invalid_res {} -GOT:Response: 403 Forbidden +{"id": 12, "uuid": "a34f89e8-d4a6-4413-a3db-1bbc7d2ab6c6", "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/a34f89e8-d4a6-4413-a3db-1bbc7d2ab6c6", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/a34f89e8-d4a6-4413-a3db-1bbc7d2ab6c6", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {"label1": "value1"}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': 5, 'min_node_count': 1, 'merge_labels': False} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 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 +{"id": 12, "uuid": "541c492c-9290-46b0-9e84-41def144a0cb", "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/541c492c-9290-46b0-9e84-41def144a0cb", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/541c492c-9290-46b0-9e84-41def144a0cb", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": 5, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'test-role', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 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-10-17T17:08:42.228399+00:00', 'updated_at': None}]} -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 5} -GOT:Response: 201 Created +{"id": 12, "uuid": "443ff551-a5d2-49ec-935b-9da6a8b60a22", "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/443ff551-a5d2-49ec-935b-9da6a8b60a22", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/443ff551-a5d2-49ec-935b-9da6a8b60a22", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "test-role", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 0, 'role': 'worker', 'max_node_count': None, 'min_node_count': 0, 'merge_labels': False} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 Vary: OpenStack-API-Version -{"id": 42, "hard_limit": 5, "project_id": "fake_project", "resource": "Cluster", "created_at": "2026-10-17T17:08:42.254523+00:00", "updated_at": null} -PATCH: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 20} +{"id": 12, "uuid": "aeee0de1-3281-499a-b4b1-73b6fd16c02c", "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/aeee0de1-3281-499a-b4b1-73b6fd16c02c", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/aeee0de1-3281-499a-b4b1-73b6fd16c02c", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 0, "role": "worker", "min_node_count": 0, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 Vary: OpenStack-API-Version -{"id": 42, "hard_limit": 20, "project_id": "fake_project", "resource": "Cluster", "created_at": "2026-10-17T17:08:42.254523+00:00", "updated_at": "2026-10-17T17:08:42.266247+00:00"} +{"id": 12, "uuid": "1bfd015c-61fa-47c7-8d47-e101ed0fe17a", "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/1bfd015c-61fa-47c7-8d47-e101ed0fe17a", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/1bfd015c-61fa-47c7-8d47-e101ed0fe17a", "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 @@ -6663,91 +6066,32 @@ 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-10-17T17:08:42.287305+00:00", "updated_at": null} -PATCH: /v1/quotas {'project_id': 'not-found', 'hard_limit': 20, 'resource': 'Cluster'} -GOT:Response: 404 Not Found +{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-09-14T10:49:29.528590+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.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "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} -DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 -GET: /v1/clusters {} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -PATCH: /v1/clusters/cluster_example_A [{'path': '/node_count', 'value': 4, 'op': 'replace'}] -POST: /v1/clustertemplates {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'clustermodel1', 'image_id': 'ubuntu', 'flavor_id': 'm1.small', 'master_flavor_id': 'm1.small', 'keypair_id': 'keypair1', 'external_network_id': 'd1f02cfb-d27f-4068-9332-84d907cb0e2e', 'fixed_network': 'private', 'fixed_subnet': 'private-subnet', 'network_driver': None, 'volume_driver': None, 'dns_nameserver': '8.8.1.1', 'apiserver_port': 8080, 'docker_volume_size': 20, 'docker_storage_driver': 'devicemapper', 'cluster_distro': 'fedora-coreos', 'coe': 'kubernetes', 'labels': {'key1': 'val1', 'key2': 'val2'}, 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'registry_enabled': False, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'hidden': False, 'tags': '', 'driver': ''} -DELETE: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 -GET: /v1/clustertemplates {} -GET: /v1/clustertemplates/detail {} -GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/dns_nameserver', 'op': 'remove'}] -GET: /v1/mservices {} -POST: /v1/clusters/b9a85b25-abb7-4d42-a3fd-9c857ae90d08/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/39d6e64f-d96f-4854-aec6-a384d30db8d6/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 -GET: /v1/clusters/01ba7fba-90d7-4fa8-88e4-707dcafcd7c4/nodegroups/ {} -GET: /v1/clusters/e999e88b-4ff6-4b27-a9f0-08478f8b0ef2/nodegroups/foo {} -PATCH: /v1/clusters/ccc58fc8-48d0-4dbe-8185-2fd6ee522a4c/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 [{'path': '/max_node_count', 'value': 4, 'op': 'replace'}] -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} -GOT:Response: 201 Created +{"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.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2026-10-17T17:08:44.986671+00:00", "updated_at": null} -DELETE: /v1/quotas/fake_project/Cluster -GET: /v1/quotas {}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.policies.test_quota_policy.TestQuotaPolicy.test_get_all_no_permission -magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_get_all_no_permission ... ok -magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_get_no_permission -magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_get_no_permission ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_flavor_disk_size -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_flavor_disk_size ... ok -magnum.tests.unit.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.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.common.test_keystone.KeystoneClientTest.test_client_with_access_info -magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_access_info ... ok +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute resource", "detail": "Invalid input for field/attribute resource. Value: 'invalid-res'. Value should be one of: Cluster", "links": []}]}magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_invalid_resource +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_invalid_resource ... ok magnum.tests.unit.api.controllers.v1.test_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_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.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 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 @@ -6756,14 +6100,6 @@ Openstack-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} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 400, "title": "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: 400 Bad Request @@ -6812,40 +6148,36 @@ Openstack-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": []}]}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_name +{"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}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.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.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.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_quota.TestQuota.test_delete_quota +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_delete_quota ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_empty +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_empty ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_labels magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_labels ... ok -magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_get_validate_region_name -magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_get_validate_region_name ... ok +magnum.tests.unit.api.controllers.v1.test_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.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.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.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.TestPost.test_create_cluster_with_master_flavor_id magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_master_flavor_id ... ok -magnum.tests.unit.common.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_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_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_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 -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.12 @@ -6884,7 +6216,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "96f00028-a125-4a39-a3a1-235c14961a2c"} +{"uuid": "90f70db4-0e35-4908-b006-e975cacbf4b2"} 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 @@ -6892,7 +6224,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "e0e09453-c669-4711-9096-870bb1861e48"} +{"uuid": "ab8575be-c60b-462b-8465-3c915c929419"} 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 @@ -6908,7 +6240,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "eba9af9c-fa9a-4b98-b57c-c6c8f905a555"} +{"uuid": "69579296-b675-4b0e-9d6b-33498b9a0c5f"} 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 @@ -6916,45 +6248,65 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "36ee7822-fa3e-4123-8332-67c20da84394"}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 +{"uuid": "74af7bdb-b623-4ddf-93d8-ed7ae75d4c7d"} +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}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_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.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_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_cluster.TestPost.test_create_cluster_with_negative_master_count magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_negative_master_count ... ok +magnum.tests.unit.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_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_quota.TestQuota.test_get_one_with_config_default +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_with_config_default ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_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_quota.TestQuota.test_one +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_one ... 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_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_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_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_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_cluster.TestPost.test_create_cluster_with_no_os_distro_image magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_os_distro_image ... ok -magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_with_stack_not_found -magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_with_stack_not_found ... ok -magnum.tests.unit.common.test_policy.TestPolicy.test_check_is_admin_with_admin_context_succeeds -magnum.tests.unit.common.test_policy.TestPolicy.test_check_is_admin_with_admin_context_succeeds ... ok -magnum.tests.unit.common.test_policy.TestPolicy.test_check_is_admin_with_user_context_fails -magnum.tests.unit.common.test_policy.TestPolicy.test_check_is_admin_with_user_context_fails ... ok -magnum.tests.unit.common.test_rpc.TestProfilerRequestContextSerializer.test_deserialize_context -magnum.tests.unit.common.test_rpc.TestProfilerRequestContextSerializer.test_deserialize_context ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_valid_multi_dns +magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_valid_multi_dns ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_valid_single_dns +magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_valid_single_dns ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_timeout +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_timeout ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_add_internal_attr +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_add_internal_attr ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_add_with_no_value +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_add_with_no_value ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_extra_non_removable_attr +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_extra_non_removable_attr ... ok -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': True} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "e37c5eba-9691-4635-8d51-df2ed659685e"} +{"uuid": "dace9db9-2ed8-4eac-a30c-46d8c2099931"} 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 @@ -6994,7 +6346,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "ac8639a1-7db9-4b42-8d01-c9fdfb6383a5"} +{"uuid": "3b90f03d-0092-4303-9356-3fb927364d43"} 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 @@ -7002,7 +6354,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "febb4fde-5519-4b64-88f8-9ab61f4fda78"} +{"uuid": "855d8904-df66-4ec4-b68a-502fd030fa90"} 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 @@ -7010,7 +6362,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "a2e950a9-46d0-412b-86fb-a1a3c3434779"} +{"uuid": "4a291619-047b-416f-b62b-609b85bed8bc"} 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 @@ -7026,100 +6378,72 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "f07b206e-4290-40a1-9d1c-93a9d2894707"}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 +{"uuid": "dcb3463d-0728-4900-8fde-2657aacc723d"} +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}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_rpc.TestProfilerRequestContextSerializer.test_serialize_context -magnum.tests.unit.common.test_rpc.TestProfilerRequestContextSerializer.test_serialize_context ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_internal_attr +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_internal_attr ... ok magnum.tests.unit.api.controllers.v1.test_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_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_types.TestJsonPatchType.test_cannot_remove_mandatory_attr +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_mandatory_attr ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_replace_with_no_value +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_replace_with_no_value ... ok magnum.tests.unit.api.controllers.v1.test_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_rpc.TestRequestContextSerializer.test_deserialize_entity_null_base -magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity_null_base ... ok -magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_context -magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_context ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_update_internal_attr +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_update_internal_attr ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_invalid_op +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_invalid_op ... ok magnum.tests.unit.api.controllers.v1.test_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_rpc.TestRequestContextSerializer.test_serialize_entity -magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_invalid_path +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_invalid_path ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_timeout_negative magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_timeout_negative ... 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_utils.UtilsTestCase.test_get_k8s_quantity -magnum.tests.unit.common.test_utils.UtilsTestCase.test_get_k8s_quantity ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_missing_required_fields_op +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_missing_required_fields_op ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_missing_required_fields_path +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_missing_required_fields_path ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_update_mandatory_attr +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_update_mandatory_attr ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_valid_patches +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_valid_patches ... ok magnum.tests.unit.api.controllers.v1.test_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_utils.UtilsTestCase.test_get_openstasck_ca -magnum.tests.unit.common.test_utils.UtilsTestCase.test_get_openstasck_ca ... ok -/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", -magnum.tests.unit.common.x509.test_validator.TestValidators.test_disallow_ca_in_basic_constraints -magnum.tests.unit.common.x509.test_validator.TestValidators.test_disallow_ca_in_basic_constraints ... ok -magnum.tests.unit.common.x509.test_validator.TestValidators.test_disallow_ca_in_basic_constraints_not_critical -magnum.tests.unit.common.x509.test_validator.TestValidators.test_disallow_ca_in_basic_constraints_not_critical ... ok -magnum.tests.unit.common.x509.test_validator.TestValidators.test_disallow_ca_in_basic_constraints_with_non_ca -magnum.tests.unit.common.x509.test_validator.TestValidators.test_disallow_ca_in_basic_constraints_with_non_ca ... ok -magnum.tests.unit.common.x509.test_validator.TestValidators.test_filter_allowed_extensions -magnum.tests.unit.common.x509.test_validator.TestValidators.test_filter_allowed_extensions ... ok -magnum.tests.unit.common.x509.test_validator.TestValidators.test_filter_allowed_extensions_disallowed -magnum.tests.unit.common.x509.test_validator.TestValidators.test_filter_allowed_extensions_disallowed ... ok -magnum.tests.unit.common.x509.test_validator.TestValidators.test_filter_allowed_extensions_disallowed_but_not_critical -magnum.tests.unit.common.x509.test_validator.TestValidators.test_filter_allowed_extensions_disallowed_but_not_critical ... ok -magnum.tests.unit.common.x509.test_validator.TestValidators.test_merge_key_usage -magnum.tests.unit.common.x509.test_validator.TestValidators.test_merge_key_usage ... ok -magnum.tests.unit.common.x509.test_validator.TestValidators.test_merge_key_usage_disallowed -magnum.tests.unit.common.x509.test_validator.TestValidators.test_merge_key_usage_disallowed ... ok -magnum.tests.unit.common.x509.test_validator.TestValidators.test_merge_key_usage_disallowed_but_not_critical -magnum.tests.unit.common.x509.test_validator.TestValidators.test_merge_key_usage_disallowed_but_not_critical ... ok -magnum.tests.unit.common.x509.test_validator.TestValidators.test_remove_ca_key_usage -magnum.tests.unit.common.x509.test_validator.TestValidators.test_remove_ca_key_usage ... ok -magnum.tests.unit.common.x509.test_validator.TestValidators.test_remove_ca_key_usage_cert_sign -magnum.tests.unit.common.x509.test_validator.TestValidators.test_remove_ca_key_usage_cert_sign ... ok -magnum.tests.unit.common.x509.test_validator.TestValidators.test_remove_ca_key_usage_crl_sign -magnum.tests.unit.common.x509.test_validator.TestValidators.test_remove_ca_key_usage_crl_sign ... ok -magnum.tests.unit.common.x509.test_validator.TestValidators.test_remove_ca_key_usage_without_ca_usage -magnum.tests.unit.common.x509.test_validator.TestValidators.test_remove_ca_key_usage_without_ca_usage ... ok +magnum.tests.unit.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_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.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_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_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 -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': -1, 'master_count': 3, 'merge_labels': False} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 @@ -7127,14 +6451,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': 'd60dc085-d38b-42e1-81c8-ce35ced173b0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': 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': '059dd54f-de71-4bc9-896c-9d714b578abb', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "ClusterTemplate d60dc085-d38b-42e1-81c8-ce35ced173b0 could not be found", "detail": "ClusterTemplate d60dc085-d38b-42e1-81c8-ce35ced173b0 could not be found.", "links": []}]} +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "ClusterTemplate 059dd54f-de71-4bc9-896c-9d714b578abb could not be found", "detail": "ClusterTemplate 059dd54f-de71-4bc9-896c-9d714b578abb 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 @@ -7166,7 +6490,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "97a912be-3106-45fc-a65d-2ae49f0ad4aa"} +{"uuid": "86bd35c8-f468-4a2e-a147-c102e47b60a2"} 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 @@ -7174,7 +6498,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "5f93a2d9-6764-4dcf-9c13-d8f2e41ee47c"} +{"uuid": "71a27a71-98ab-4a8d-8329-9b4c7118cf83"} 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 @@ -7182,7 +6506,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "49ed8e9c-778b-485f-842f-e7cb771b6984"} +{"uuid": "bc6b8aef-b988-4cc2-8991-95f59ee23366"} 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 @@ -7190,33 +6514,246 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "7f20cf20-c6a9-4249-8f88-77eac4518139"} -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.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_delete -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_delete ... ok +{"uuid": "038bcc80-6590-4b30-829d-0820a95ee257"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'test.cluster', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"uuid": "d49493e6-2963-4c1d-9fce-334a4f6bb08f"}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 + +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.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "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.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "The 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.12 +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-09-14T10:49:29.617647+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.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-09-14T10:49:29.653612+00:00", "updated_at": null} +DELETE: /v1/quotas/fake_project/Cluster +GOT:Response: 204 No Content +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version + +GET: /v1/quotas/fake_project/Cluster {} +GOT:Response: 200 OK +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"hard_limit": 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-09-14T10:49:29.694197+00:00', 'updated_at': None}, {'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2025-09-14T10:49:29.695316+00:00', 'updated_at': None}, {'id': 3, 'hard_limit': 10, 'project_id': 'proj-id-2', 'resource': 'Cluster', 'created_at': '2025-09-14T10:49:29.696181+00:00', 'updated_at': None}, {'id': 4, 'hard_limit': 10, 'project_id': 'proj-id-3', 'resource': 'Cluster', 'created_at': '2025-09-14T10:49:29.696999+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-09-14T10:49:29.722272+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-09-14T10:49:29.742534+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-09-14T10:49:29.764406+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-09-14T10:49:29.784485+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-09-14T10:49:29.834419+00:00', 'updated_at': None}, {'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2025-09-14T10:49:29.839820+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-09-14T10:49:29.875601+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.12 +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.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Not authorized", "detail": "Not authorized.", "links": []}]} +GET: /v1/quotas/fake_project/Cluster {} +GOT:Response: 200 OK +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"hard_limit": 15, "project_id": "fake_project", "resource": "Cluster"} +GET: /v1/quotas {} +GOT:{'quotas': [{'id': 1, 'hard_limit': 10, 'project_id': 'fake_project', 'resource': 'Cluster', 'created_at': '2025-09-14T10:49:29.983681+00:00', 'updated_at': None}]} +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 5} +GOT:Response: 201 Created +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"id": 42, "hard_limit": 5, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-09-14T10:49:30.017105+00:00", "updated_at": null} +PATCH: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 20} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"id": 42, "hard_limit": 20, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-09-14T10:49:30.017105+00:00", "updated_at": "2025-09-14T10:49:30.023805+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.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-09-14T10:49:30.044514+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.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "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": []}]}magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_exception_success +magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_exception_success ... ok +magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_remote_error_success +magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_remote_error_success ... ok +magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_server_debug_on_clientfault +magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_server_debug_on_clientfault ... ok +magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_server_debug_on_serverfault +magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_server_debug_on_serverfault ... ok +magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback +magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback ... ok magnum.tests.unit.api.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.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.test_servicegroup.TestServiceGroup.test_service_is_up_alive +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_all_three +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_all_three ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_created +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_created ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_latest_update +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_latest_update ... ok magnum.tests.unit.api.controllers.v1.test_cluster.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.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.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.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.test_servicegroup.TestServiceGroup.test_service_is_up_down +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_all_three +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_all_three ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_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.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.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.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.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_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 -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "ae1571ad-46f6-4ec2-84db-b61202fd8df2"} 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 @@ -7224,7 +6761,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "1cd1df98-cb37-4835-b501-fef45f24efb2"} +{"uuid": "20022b54-37d3-4050-ace1-f4432cec3f8c"} 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 @@ -7232,7 +6769,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "3ee6a49c-4704-43c5-922a-046bcb4f9167"} +{"uuid": "26eb8cc7-0c5a-46b4-a8cc-bdec749920e2"} 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 @@ -7240,7 +6777,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "75aad3a9-5c48-4b33-b761-cb83887fefdf"} +{"uuid": "8b99681a-600f-4636-a097-200de5e36242"} 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 @@ -7248,7 +6785,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "3741c0c9-bf31-47ce-a811-cf14e8305ca5"} +{"uuid": "1a63b6c2-cb42-4f8b-a139-da3432410d93"} 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 @@ -7256,7 +6793,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "d34b24c1-9907-444e-9247-ff73d68591a4"} +{"uuid": "03322d39-12a0-4553-a1c6-47296195569a"} 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 @@ -7264,7 +6801,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.10 Vary: OpenStack-API-Version -{"uuid": "37738b4e-2e67-4f77-a78d-8a108ced79ef"} +{"uuid": "8cc6d090-ffae-498a-bfd4-3a5f03356ddb"} 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 @@ -7280,7 +6817,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "804bf597-d813-4ab1-954a-f4be844bf833"} +{"uuid": "602569bc-012c-490a-aca5-9f674d2064ab"} 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 @@ -7288,91 +6825,369 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "42daa9ea-f8f3-4808-a4ed-d5d4237afcb9"} -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_keypair +{"uuid": "1ce26fc7-37c3-42d5-bffa-23473a26144a"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"uuid": "dd2cc387-85c2-4c95-86c8-32c8eb35fe43"}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.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.cmd.test_api.TestMagnumAPI.test_api_https +magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_labels magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_labels ... ok +magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https_no_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.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_master_flavor_id magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_master_flavor_id ... ok +magnum.tests.unit.cmd.test_conductor.TestMagnumConductor.test_conductor_config_workers +magnum.tests.unit.cmd.test_conductor.TestMagnumConductor.test_conductor_config_workers ... ok +magnum.tests.unit.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_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.conductor.handlers.test_cluster_conductor.TestHandler.test_create -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create ... ok +magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_version +magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_version ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_name magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_name ... 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.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.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_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.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_cluster_actions.TestClusterUpgrade.test_upgrade_default_master -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_default_master ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_default_worker -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_default_worker ... ok -magnum.tests.unit.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_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 -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_non_default_ng_invalid_ct -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_non_default_ng_invalid_ct ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplateObject.test_cluster_template_init -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplateObject.test_cluster_template_init ... ok -magnum.tests.unit.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.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_even_unsupported +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_master_nodegroup_even_unsupported ... ok +magnum.tests.unit.cmd.test_driver_manage.TestMagnumDriverManage.test_correct_arg_with_details_and_path +magnum.tests.unit.cmd.test_driver_manage.TestMagnumDriverManage.test_correct_arg_with_details_and_path ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_master_nodegroup_odd_unsupported +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_master_nodegroup_odd_unsupported ... ok +magnum.tests.unit.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.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.cmd.test_status.TestUpgradeChecks.test_checks +magnum.tests.unit.cmd.test_status.TestUpgradeChecks.test_checks ... 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_actions.TestClusterResize.test_resize_with_node_count_less_than_min +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_node_count_less_than_min ... ok +magnum.tests.unit.common.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.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 +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: 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:371: 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 +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "16a83d0d-3ae8-4a85-99cd-85c7b28ffb74"} -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} +{"uuid": "8d7cde80-0ea2-41b2-8852-9738e9993726"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "ffc688a0-ba76-4d00-a742-a15967e96b97"} -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} +{"uuid": "2dfbc6e9-1600-47c2-8fd8-592c78b8b3ba"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': {'label2': 'value3', 'label4': 'value4'}, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "439c28dd-f9ac-4d6c-9f92-f40a81dd6c56"} -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} +{"uuid": "83a9c974-4883-4f00-a7d6-94456905d265"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "9d26274a-89eb-4c54-a010-dbd230d9435f"} -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} +{"uuid": "a775bf16-38cc-4ff5-9a24-83c27586d169"} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 6} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.7 +Vary: OpenStack-API-Version +{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 6, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-09-14T10:49:30.859037+00:00', 'updated_at': None} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 4, 'nodegroup': 'b4a7de2b-f966-4430-aebb-d934f385fcf8'} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.9 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing the master nodegroup is not supported by this driver", "detail": "Resizing the master nodegroup is not supported by this driver.", "links": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 3, 'nodegroup': 'e3c0a72b-f99e-44a2-8536-bbcf2ae3043d'} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.9 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing the master nodegroup is not supported by this driver", "detail": "Resizing the master nodegroup is not supported by this driver.", "links": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 6, 'nodegroup': '156a790a-e10e-413e-8da4-c6da00e10799'} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.9 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing test-worker outside the allowed range: min_node_count = 1, max_node_count = 5", "detail": "Resizing test-worker outside the allowed range: min_node_count = 1, max_node_count = 5", "links": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 3, 'nodegroup': '1dd28578-2918-46d0-8443-662661d30d93'} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.9 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing test-worker outside the allowed range: min_node_count = 4, max_node_count = None", "detail": "Resizing test-worker outside the allowed range: min_node_count = 4, max_node_count = None", "links": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 6, 'nodegroup': '923443f1-c51a-4b42-8e8b-c4c7c17bcc8a'} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.9 +Vary: OpenStack-API-Version +{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 6, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-09-14T10:49:31.036756+00:00', 'updated_at': None}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.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_store_cert +magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_store_cert ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_zero_node_count_fail +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_zero_node_count_fail ... ok +magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_create_no_permission +magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_create_no_permission ... ok +magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_get_no_permission +magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_get_no_permission ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade ... ok +magnum.tests.unit.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_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.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.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.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.common.policies.test_quota_policy.TestQuotaPolicy.test_create_no_permission +magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_create_no_permission ... ok +magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_delete_no_permission +magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_delete_no_permission ... ok +magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_get_all_no_permission +magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_get_all_no_permission ... ok +magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_get_no_permission +magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_get_no_permission ... ok +magnum.tests.unit.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.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_exception.TestException.test_all_exceptions +magnum.tests.unit.common.test_exception.TestException.test_all_exceptions ... 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.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_rpc.TestProfilerRequestContextSerializer.test_deserialize_context +magnum.tests.unit.common.test_rpc.TestProfilerRequestContextSerializer.test_deserialize_context ... ok +magnum.tests.unit.common.test_rpc.TestProfilerRequestContextSerializer.test_serialize_context +magnum.tests.unit.common.test_rpc.TestProfilerRequestContextSerializer.test_serialize_context ... ok +magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_context +magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_context ... ok +magnum.tests.unit.api.controllers.v1.test_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.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.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_ng_not_found +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_ng_not_found ... ok +magnum.tests.unit.common.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_actions.TestClusterUpgrade.test_upgrade_non_default_ng +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_non_default_ng ... ok +magnum.tests.unit.common.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 +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.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_template.TestClusterTemplateObject.test_cluster_template_init +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplateObject.test_cluster_template_init ... ok +magnum.tests.unit.common.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.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.common.test_rpc.TestRpc.test_get_transport_url_null +magnum.tests.unit.common.test_rpc.TestRpc.test_get_transport_url_null ... ok +magnum.tests.unit.common.test_rpc.TestRpc.test_serialize_entity +magnum.tests.unit.common.test_rpc.TestRpc.test_serialize_entity ... ok +magnum.tests.unit.common.test_service.TestMagnumService.test_prepare_service_with_argv_none +magnum.tests.unit.common.test_service.TestMagnumService.test_prepare_service_with_argv_none ... ok +magnum.tests.unit.common.test_service.TestMagnumService.test_prepare_service_with_argv_not_none +magnum.tests.unit.common.test_service.TestMagnumService.test_prepare_service_with_argv_not_none ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_12 +magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_12 ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_16 +magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_16 ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_60 +magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_60 ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_8 +magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_8 ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_generate_ids +magnum.tests.unit.common.test_short_id.ShortIdTest.test_generate_ids ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_string +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_string ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid1 +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid1 ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_0 +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_0 ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_1 +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_1 ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_endianness +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_endianness ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_f +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_f ... ok +magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get +magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get ... ok +magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get_exceed_manifest_size +magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get_exceed_manifest_size ... ok +magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get_unsupported_scheme +magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get_unsupported_scheme ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_delete +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_delete ... ok +magnum.tests.unit.common.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_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_detail +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_detail ... ok +magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked_error_on_rmtree +magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked_error_on_rmtree ... ok +magnum.tests.unit.common.test_utils.UtilsTestCase.test_get_k8s_quantity +magnum.tests.unit.common.test_utils.UtilsTestCase.test_get_k8s_quantity ... ok +magnum.tests.unit.common.test_utils.UtilsTestCase.test_get_openstasck_ca +magnum.tests.unit.common.test_utils.UtilsTestCase.test_get_openstasck_ca ... ok +magnum.tests.unit.common.x509.test_operations.TestX509Operations.test_decrypt_key +magnum.tests.unit.common.x509.test_operations.TestX509Operations.test_decrypt_key ... ok + +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 0, 'nodegroup': '84945b86-5eec-4e80-86f4-dd6b7b72ab2d'} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.10 Vary: OpenStack-API-Version -{"uuid": "36aeb80a-2a8a-4b08-b88d-d724ff176508"} +{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 0, 'nodegroup': '7e35173e-2aa5-4b72-845d-b5eb63610109'} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.9 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing a nodegroup to zero is not supported in the provided microversion", "detail": "Resizing a nodegroup to zero is not supported in the provided microversion.", "links": []}]} POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'test_2'} GOT:Response: 202 Accepted Content-Type: application/json @@ -7381,14 +7196,14 @@ Openstack-Api-Version: container-infra 1.8 Vary: OpenStack-API-Version {"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -POST: /v1/clusters/7b3bf798-4009-4161-9b53-1ea8c35fcaa2/actions/upgrade {'cluster_template': 'test_2'} +POST: /v1/clusters/417f5d51-7a95-4058-a52a-d27206ac9bac/actions/upgrade {'cluster_template': 'test_2'} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.8 Vary: OpenStack-API-Version -{"uuid": "7b3bf798-4009-4161-9b53-1ea8c35fcaa2"} +{"uuid": "417f5d51-7a95-4058-a52a-d27206ac9bac"} POST: /v1/clusters/not_there/actions/upgrade {'cluster_template': 'test_2'} GOT:Response: 404 Not Found Content-Type: application/json @@ -7405,7 +7220,7 @@ Openstack-Api-Version: container-infra 1.8 Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 404, "title": "ClusterTemplate not_there could not be found", "detail": "ClusterTemplate not_there could not be found.", "links": []}]} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'test_2', 'nodegroup': 'f629347c-6322-4c47-ab0c-294be901d827'} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'test_2', 'nodegroup': '587f4f52-589e-40c7-8762-48f516386f2a'} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 @@ -7413,7 +7228,7 @@ Openstack-Api-Version: container-infra 1.9 Vary: OpenStack-API-Version {"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'test_2', 'nodegroup': 'bcbef0e2-387a-4d24-a22e-7323f68c22fd'} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'test_2', 'nodegroup': '186d6586-a8e7-4cdf-988d-2041b4d498a7'} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 @@ -7445,73 +7260,7 @@ 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': ''}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.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_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.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_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.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.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.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_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.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_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.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_cluster_template.TestDelete.test_delete_cluster_template -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_as_admin -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_as_admin ... ok -magnum.tests.unit.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.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.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.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.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.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.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.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.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.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.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete ... ok - +POST: /v1/clustertemplates {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'image_id': 'ubuntu', 'flavor_id': 'm1.small', 'master_flavor_id': 'm1.small', 'keypair_id': 'keypair1', 'external_network_id': 'd1f02cfb-d27f-4068-9332-84d907cb0e2e', 'fixed_network': 'private', 'fixed_subnet': 'private-subnet', 'network_driver': None, 'volume_driver': None, 'dns_nameserver': '8.8.1.1', 'apiserver_port': 8080, 'docker_volume_size': 20, 'docker_storage_driver': 'devicemapper', 'cluster_distro': 'fedora-coreos', 'coe': 'kubernetes', 'labels': {'key1': 'val1', 'key2': 'val2'}, 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'registry_enabled': False, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'hidden': False, 'tags': '', 'driver': ''} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 @@ -7527,7 +7276,7 @@ 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/55c6765d-433d-4144-b4ce-e0f7847fbcfb/detail {} +GET: /v1/clustertemplates/4fcc1fcc-055e-468c-9642-10106e12728f/detail {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 @@ -7542,7 +7291,25 @@ Openstack-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": []}]} +{"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": []}]}magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_get_all +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_get_all ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_get_one +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_get_one ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_update +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_update ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_only_owner_delete +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_only_owner_delete ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_only_owner_get_one +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_only_owner_get_one ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_only_owner_update +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_only_owner_update ... ok +magnum.tests.unit.api.controllers.v1.test_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.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_template.TestPatch.test_create_cluster_template_with_no_os_distro_image +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_create_cluster_template_with_no_os_distro_image ... ok + GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:Response: 403 Forbidden Content-Type: application/json @@ -7583,151 +7350,358 @@ 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 +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Adding a new attribute /foo to the root of the resource is not allowed", "detail": "Adding a new attribute /foo to the root of the resource is not allowed.", "links": []}]} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/image_id', 'value': 'img', 'op': 'replace'}] +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "img", "detail": "img", "links": []}]} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/image_id', 'op': 'remove'}] +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/image_id' is a mandatory attribute and can not be removed", "detail": "'/image_id' is a mandatory attribute and can not be removed", "links": []}]} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/coe', 'op': 'remove'}] +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/coe' is a mandatory attribute and can not be removed", "detail": "'/coe' is a mandatory attribute and can not be removed", "links": []}]} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/external_network_id', 'op': 'remove'}] +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/external_network_id' is a mandatory attribute and can not be removed", "detail": "'/external_network_id' is a mandatory attribute and can not be removed", "links": []}]} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/server_type', 'op': 'remove'}] +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/server_type' is a mandatory attribute and can not be removed", "detail": "'/server_type' is a mandatory attribute and can not be removed", "links": []}]} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/tls_disabled', 'op': 'remove'}] +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/tls_disabled' is a mandatory attribute and can not be removed", "detail": "'/tls_disabled' is a mandatory attribute and can not be removed", "links": []}]} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/public', 'op': 'remove'}] +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/public' is a mandatory attribute and can not be removed", "detail": "'/public' is a mandatory attribute and can not be removed", "links": []}]} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/registry_enabled', 'op': 'remove'}] +GOT:Response: 400 Bad Request +Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/registry_enabled' is a mandatory attribute and can not be removed", "detail": "'/registry_enabled' is a mandatory attribute and can not be removed", "links": []}]} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/cluster_distro', 'op': 'remove'}] +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/cluster_distro' is a mandatory attribute and can not be removed", "detail": "'/cluster_distro' is a mandatory attribute and can not be removed", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_mandatory_property_fail +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_mandatory_property_fail ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_non_existent_property_fail +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_non_existent_property_fail ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_singular +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_singular ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_uuid +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_uuid ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_invalid_flavor +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_invalid_flavor ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_external_network_id +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_external_network_id ... ok +magnum.tests.unit.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_template.TestPatch.test_replace_cluster_template_with_no_exist_flavor_id +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_flavor_id ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_image_id +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_image_id ... ok +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/network_driver', 'op': 'remove'}] +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/network_driver' is a mandatory attribute and can not be removed", "detail": "'/network_driver' is a mandatory attribute and can not be removed", "links": []}]} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/non-existent', 'op': 'remove'}] +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Couldn't apply patch '[{'path': '/non-existent', 'op': 'remove'}]'", "detail": "Couldn't apply patch '[{'path': '/non-existent', 'op': 'remove'}]'. Reason: can't remove a non-existent object 'non-existent'", "links": []}]} GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:Response: 404 Not Found +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-09-14T10:49:32.049026+00:00', 'updated_at': None} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/dns_nameserver', 'op': 'remove'}] +GOT:Response: 200 OK Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"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/93e084bd-5788-47fa-9164-6a1ff53a2948 -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": 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-09-14T10:49:32.049026+00:00", "updated_at": null} +GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} +GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': None, 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2025-09-14T10:49:32.049026+00:00', 'updated_at': '2025-09-14T10:49:32.073173+00:00'} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/uuid', 'op': 'remove'}] +GOT:Response: 400 Bad Request +Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version - -DELETE: /v1/clustertemplates/33913a6a-ada9-4981-b704-8ca544228976 -GOT:Response: 404 Not Found +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/uuid' is an internal attribute and can not be updated", "detail": "'/uuid' is an internal attribute and can not be updated", "links": []}]} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/flavor_id', 'value': 'aaa', 'op': 'replace'}] +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "ClusterTemplate 33913a6a-ada9-4981-b704-8ca544228976 could not be found", "detail": "ClusterTemplate 33913a6a-ada9-4981-b704-8ca544228976 could not be found.", "links": []}]} -DELETE: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Flavor with zero root volume size is not supported when boot_volume_size is zero", "detail": "Flavor with zero root volume size is not supported when boot_volume_size is zero.", "links": []}]} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/external_network_id', 'value': 'aaa', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "ClusterTemplate e74c40e0-d825-11e2-a28f-0800200c9a66 is referenced by one or multiple clusters", "detail": "ClusterTemplate e74c40e0-d825-11e2-a28f-0800200c9a66 is referenced by one or multiple clusters.", "links": []}]} -DELETE: /v1/clustertemplates/clustermodel1 -GOT:Response: 204 No Content +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "aaa", "detail": "aaa", "links": []}]} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/flavor_id', 'value': 'aaa', 'op': 'replace'}] +GOT:Response: 400 Bad Request +Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version - -DELETE: /v1/clustertemplates/not_found +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "aaa", "detail": "aaa", "links": []}]} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/image_id', 'value': 'aaa', 'op': 'replace'}] +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "aaa", "detail": "aaa", "links": []}]} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/keypair_id', 'value': 'aaa', 'op': 'replace'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "ClusterTemplate not_found could not be found", "detail": "ClusterTemplate not_found could not be found.", "links": []}]} -DELETE: /v1/clustertemplates/test_cluster_template -GOT:Response: 409 Conflict +{"errors": [{"request_id": "", "code": "client", "status": 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_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 + +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/name', 'value': 'cluster_model_example_B', 'op': 'replace'}] +GOT:Response: 200 OK Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Multiple ClusterTemplates exist with same name", "detail": "Multiple ClusterTemplates exist with same name. Please use the ClusterTemplate uuid instead.", "links": []}]} -PATCH: /v1/credentials/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {}magnum.tests.unit.api.controllers.v1.test_credential.TestCredentialPolicyEnforcement.test_policy_disallow_rotate -magnum.tests.unit.api.controllers.v1.test_credential.TestCredentialPolicyEnforcement.test_policy_disallow_rotate ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestFederationObject.test_federation_init -magnum.tests.unit.api.controllers.v1.test_federation.TestFederationObject.test_federation_init ... 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 +{"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-09-14T10:49:32.252163+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-09-14T10:49:32.252163+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} +PATCH: /v1/clustertemplates/e4c1d34e-7cf7-47cc-a736-ff41707adb1e [{'path': '/name', 'value': 'cluster_model_example_B', 'op': 'replace'}] +GOT:Response: 200 OK +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"uuid": "e4c1d34e-7cf7-47cc-a736-ff41707adb1e", "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/e4c1d34e-7cf7-47cc-a736-ff41707adb1e", "rel": "self"}, {"href": "http://localhost/clustertemplates/e4c1d34e-7cf7-47cc-a736-ff41707adb1e", "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": "e4c1d34e-7cf7-47cc-a736-ff41707adb1e", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2025-09-14T10:49:32.299771+00:00", "updated_at": null} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/hidden', 'value': True, 'op': 'replace'}] +GOT:Response: 200 OK +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": true, "tags": "", "driver": "", "created_at": "2025-09-14T10:49:32.327157+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-09-14T10:49:32.327157+00:00', 'updated_at': '2025-09-14T10:49:32.353903+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.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_B", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2025-09-14T10:49:32.373899+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_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 + +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/labels', 'value': "{'etcd_volume_size': '1'}", 'op': 'replace'}] +GOT:Response: 200 OK +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"etcd_volume_size": "1"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2025-09-14T10:49:32.421173+00:00", "updated_at": null} +GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} +GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'etcd_volume_size': '1'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2025-09-14T10:49:32.421173+00:00', 'updated_at': '2025-09-14T10:49:32.454875+00:00'} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/network_driver', 'value': 'flannel', 'op': 'replace'}] +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "ClusterTemplate e74c40e0-d825-11e2-a28f-0800200c9a66 is referenced by one or multiple clusters", "detail": "ClusterTemplate e74c40e0-d825-11e2-a28f-0800200c9a66 is referenced by one or multiple clusters.", "links": []}]} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/public', 'value': True, 'op': 'replace'}] +GOT:Response: 200 OK +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": true, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2025-09-14T10:49:32.512225+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-09-14T10:49:32.512225+00:00', 'updated_at': '2025-09-14T10:49:32.541977+00:00'} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/docker_storage_driver', 'value': 'devicemapper', 'op': 'replace'}] +GOT:Response: 200 OK +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2025-09-14T10:49:32.563417+00:00", "updated_at": null} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/hidden', 'value': True, 'op': 'replace'}] +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/hidden', 'value': True, 'op': 'replace'}]magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_hidden_cluster_template_success +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_hidden_cluster_template_success ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_not_found +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_public_cluster_template_fail +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_public_cluster_template_fail ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_public_cluster_template_success +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_public_cluster_template_success ... ok magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail ... 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_federation.TestListFederation.test_detail_against_single magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail_against_single ... 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.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.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_federation.TestListFederation.test_empty magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_empty ... 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_federation.TestListFederation.test_get_all_with_pagination_marker +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 + +GOT:Response: 200 OK +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": true, "tags": "", "driver": "", "created_at": "2025-09-14T10:49:32.623674+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-09-14T10:49:32.623674+00:00', 'updated_at': '2025-09-14T10:49:32.653502+00:00'} +PATCH: /v1/clustertemplates/dfa32638-e314-4fb3-a586-b84711dfce8f [{'path': '/name', 'value': 'cluster_model_example_B', 'op': 'add'}] +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "ClusterTemplate dfa32638-e314-4fb3-a586-b84711dfce8f could not be found", "detail": "ClusterTemplate dfa32638-e314-4fb3-a586-b84711dfce8f could not be found.", "links": []}]} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/public', 'value': True, 'op': 'replace'}] +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/public', 'value': True, 'op': 'replace'}] +GOT:Response: 200 OK +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": true, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2025-09-14T10:49:32.717256+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-09-14T10:49:32.717256+00:00', 'updated_at': '2025-09-14T10:49:32.732594+00:00'} +GET: /v1/federations/detail {} +GOT:{'federations': [{'uuid': 'ab744db0-55b2-4834-a750-ee67a58f6309', '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/ab744db0-55b2-4834-a750-ee67a58f6309', 'rel': 'self'}, {'href': 'http://localhost/federations/ab744db0-55b2-4834-a750-ee67a58f6309', 'rel': 'bookmark'}], 'created_at': '2025-09-14T10:49:32.750266+00:00', 'updated_at': None}]} +GET: /v1/federations/d01ff329-641e-405c-9169-9a21307f269c/detail {} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "The %(name)s resource %(id)s could not be found", "detail": "The %(name)s resource %(id)s could not be found.", "links": []}]} +GET: /v1/federations/detail?limit=3&marker=c8a85250-69a9-4d45-a261-95ba8fb0e254 {} +GOT:{'federations': [{'uuid': '1a32eb14-9aec-4868-b3de-907416922bd9', '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/1a32eb14-9aec-4868-b3de-907416922bd9', 'rel': 'self'}, {'href': 'http://localhost/federations/1a32eb14-9aec-4868-b3de-907416922bd9', 'rel': 'bookmark'}], 'created_at': '2025-09-14T10:49:32.791305+00:00', 'updated_at': None}]} +GET: /v1/federations {} +GOT:{'federations': []} +GET: /v1/federations?limit=3&marker=90debe42-ddac-4b74-b06b-5f84c6802bc6 {}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.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.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.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_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.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.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.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_federation.TestListFederation.test_links magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_links ... ok -magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_delete_stack -magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_delete_stack ... ok -magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_delete_stack_with_error -magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_delete_stack_with_error ... ok -magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_update_stack -magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_update_stack ... ok -magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_update_stack_with_error -magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_update_stack_with_error ... ok -magnum.tests.unit.conductor.test_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_federation.TestListFederation.test_many +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_many ... ok -GOT:Response: 403 Forbidden -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow credential:rotate to be performed", "detail": "Policy doesn't allow credential:rotate to be performed.", "links": []}]} -GET: /v1/federations/detail {} -GOT:{'federations': [{'uuid': '6d4cdd8d-5862-4a36-bc6c-9a68eb14df90', '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/6d4cdd8d-5862-4a36-bc6c-9a68eb14df90', 'rel': 'self'}, {'href': 'http://localhost/federations/6d4cdd8d-5862-4a36-bc6c-9a68eb14df90', 'rel': 'bookmark'}], 'created_at': '2026-10-17T17:08:48.631548+00:00', 'updated_at': None}]} -GET: /v1/federations/827efe2a-10e0-4caa-b7d8-9d5b496ed560/detail {} -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "The %(name)s resource %(id)s could not be found", "detail": "The %(name)s resource %(id)s could not be found.", "links": []}]} -GET: /v1/federations/detail?limit=3&marker=a4f2eb2b-f0e0-4529-b635-76c3c98d6b47 {} -GOT:{'federations': [{'uuid': '1a9b287a-fea3-481f-980a-9c978126eb37', '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/1a9b287a-fea3-481f-980a-9c978126eb37', 'rel': 'self'}, {'href': 'http://localhost/federations/1a9b287a-fea3-481f-980a-9c978126eb37', 'rel': 'bookmark'}], 'created_at': '2026-10-17T17:08:48.680474+00:00', 'updated_at': None}]} -GET: /v1/federations {} -GOT:{'federations': []} -GET: /v1/federations?limit=3&marker=2d63dca1-c410-46ac-a038-acfda96a4d7f {} -GOT:{'federations': [{'uuid': '18e909d2-50e5-43c0-958a-cda2e9fc9331', '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/18e909d2-50e5-43c0-958a-cda2e9fc9331', 'rel': 'self'}, {'href': 'http://localhost/federations/18e909d2-50e5-43c0-958a-cda2e9fc9331', 'rel': 'bookmark'}]}]} -GET: /v1/federations/a85a73ac-c3d3-434a-906c-a7f678dafb6e {} -GOT:{'uuid': 'a85a73ac-c3d3-434a-906c-a7f678dafb6e', '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/a85a73ac-c3d3-434a-906c-a7f678dafb6e', 'rel': 'self'}, {'href': 'http://localhost/federations/a85a73ac-c3d3-434a-906c-a7f678dafb6e', 'rel': 'bookmark'}], 'created_at': '2026-10-17T17:08:48.754913+00:00', 'updated_at': None} +GOT:{'federations': [{'uuid': 'bbd6ff58-a38b-487e-bf0b-a8a2c806273b', '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/bbd6ff58-a38b-487e-bf0b-a8a2c806273b', 'rel': 'self'}, {'href': 'http://localhost/federations/bbd6ff58-a38b-487e-bf0b-a8a2c806273b', 'rel': 'bookmark'}]}]} +GET: /v1/federations/0673979d-f07b-4d1c-bf89-7e1f054f7bae {} +GOT:{'uuid': '0673979d-f07b-4d1c-bf89-7e1f054f7bae', '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/0673979d-f07b-4d1c-bf89-7e1f054f7bae', 'rel': 'self'}, {'href': 'http://localhost/federations/0673979d-f07b-4d1c-bf89-7e1f054f7bae', 'rel': 'bookmark'}], 'created_at': '2025-09-14T10:49:32.925971+00:00', 'updated_at': None} GET: /v1/federations/fake-name {} -GOT:{'uuid': 'ea7ee20f-d0b5-4050-8b58-ee4f8853e0db', '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/ea7ee20f-d0b5-4050-8b58-ee4f8853e0db', 'rel': 'self'}, {'href': 'http://localhost/federations/ea7ee20f-d0b5-4050-8b58-ee4f8853e0db', 'rel': 'bookmark'}], 'created_at': '2026-10-17T17:08:48.774893+00:00', 'updated_at': None} +GOT:{'uuid': '33151c9f-c41d-404a-a5c7-420e1813f110', '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/33151c9f-c41d-404a-a5c7-420e1813f110', 'rel': 'self'}, {'href': 'http://localhost/federations/33151c9f-c41d-404a-a5c7-420e1813f110', 'rel': 'bookmark'}], 'created_at': '2025-09-14T10:49:32.942568+00:00', 'updated_at': None} GET: /v1/federations/test_federation {} GOT:Response: 409 Conflict Content-Type: application/json @@ -7744,76 +7718,46 @@ 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/ef1996ee-d668-4845-b2ff-6c8fc6a83eea {} -GOT:{'uuid': 'ef1996ee-d668-4845-b2ff-6c8fc6a83eea', '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/ef1996ee-d668-4845-b2ff-6c8fc6a83eea', 'rel': 'self'}, {'href': 'http://localhost/federations/ef1996ee-d668-4845-b2ff-6c8fc6a83eea', 'rel': 'bookmark'}], 'created_at': '2026-10-17T17:08:48.848328+00:00', 'updated_at': None} -GET: /v1/federations/b438538f-c818-40e6-8d66-a73d37664441 {} +GET: /v1/federations/bd5440d0-9c7c-4bc0-8b3d-f315904c96e9 {} +GOT:{'uuid': 'bd5440d0-9c7c-4bc0-8b3d-f315904c96e9', '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/bd5440d0-9c7c-4bc0-8b3d-f315904c96e9', 'rel': 'self'}, {'href': 'http://localhost/federations/bd5440d0-9c7c-4bc0-8b3d-f315904c96e9', 'rel': 'bookmark'}], 'created_at': '2025-09-14T10:49:33.003385+00:00', 'updated_at': None} +GET: /v1/federations/544e75f3-fc8a-454d-b36a-8a0cbf20fc18 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation b438538f-c818-40e6-8d66-a73d37664441 could not be found", "detail": "Federation b438538f-c818-40e6-8d66-a73d37664441 could not be found.", "links": []}]} -GET: /v1/federations/d9dd9933-7dbf-47b5-b40d-04d09a9b99c0 {} -GOT:{'uuid': 'd9dd9933-7dbf-47b5-b40d-04d09a9b99c0', '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/d9dd9933-7dbf-47b5-b40d-04d09a9b99c0', 'rel': 'self'}, {'href': 'http://localhost/federations/d9dd9933-7dbf-47b5-b40d-04d09a9b99c0', 'rel': 'bookmark'}], 'created_at': '2026-10-17T17:08:48.920426+00:00', 'updated_at': None} -GET: /v1/federations/d9dd9933-7dbf-47b5-b40d-04d09a9b99c0 {} -GOT:{'uuid': 'd9dd9933-7dbf-47b5-b40d-04d09a9b99c0', '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/d9dd9933-7dbf-47b5-b40d-04d09a9b99c0', 'rel': 'self'}, {'href': 'http://localhost/federations/d9dd9933-7dbf-47b5-b40d-04d09a9b99c0', 'rel': 'bookmark'}], 'created_at': '2026-10-17T17:08:48.920426+00:00', 'updated_at': None} -GET: /federations/d9dd9933-7dbf-47b5-b40d-04d09a9b99c0 {} -GOT:{'uuid': 'd9dd9933-7dbf-47b5-b40d-04d09a9b99c0', '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/d9dd9933-7dbf-47b5-b40d-04d09a9b99c0', 'rel': 'self'}, {'href': 'http://localhost/federations/d9dd9933-7dbf-47b5-b40d-04d09a9b99c0', 'rel': 'bookmark'}], 'created_at': '2026-10-17T17:08:48.920426+00:00', 'updated_at': None} +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation 544e75f3-fc8a-454d-b36a-8a0cbf20fc18 could not be found", "detail": "Federation 544e75f3-fc8a-454d-b36a-8a0cbf20fc18 could not be found.", "links": []}]} +GET: /v1/federations/0fb6e1f8-c78b-4470-af5e-eeca791ec4e0 {} +GOT:{'uuid': '0fb6e1f8-c78b-4470-af5e-eeca791ec4e0', '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/0fb6e1f8-c78b-4470-af5e-eeca791ec4e0', 'rel': 'self'}, {'href': 'http://localhost/federations/0fb6e1f8-c78b-4470-af5e-eeca791ec4e0', 'rel': 'bookmark'}], 'created_at': '2025-09-14T10:49:33.035402+00:00', 'updated_at': None} +GET: /v1/federations/0fb6e1f8-c78b-4470-af5e-eeca791ec4e0 {} +GOT:{'uuid': '0fb6e1f8-c78b-4470-af5e-eeca791ec4e0', '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/0fb6e1f8-c78b-4470-af5e-eeca791ec4e0', 'rel': 'self'}, {'href': 'http://localhost/federations/0fb6e1f8-c78b-4470-af5e-eeca791ec4e0', 'rel': 'bookmark'}], 'created_at': '2025-09-14T10:49:33.035402+00:00', 'updated_at': None} +GET: /federations/0fb6e1f8-c78b-4470-af5e-eeca791ec4e0 {} +GOT:{'uuid': '0fb6e1f8-c78b-4470-af5e-eeca791ec4e0', '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/0fb6e1f8-c78b-4470-af5e-eeca791ec4e0', 'rel': 'self'}, {'href': 'http://localhost/federations/0fb6e1f8-c78b-4470-af5e-eeca791ec4e0', 'rel': 'bookmark'}], 'created_at': '2025-09-14T10:49:33.035402+00:00', 'updated_at': None} GET: /v1/federations {} -GOT:{'federations': [{'uuid': '4aff34b3-93c7-4020-a017-f4cbc26c1553', '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/4aff34b3-93c7-4020-a017-f4cbc26c1553', 'rel': 'self'}, {'href': 'http://localhost/federations/4aff34b3-93c7-4020-a017-f4cbc26c1553', 'rel': 'bookmark'}]}, {'uuid': '043dc0e6-a421-475e-b83d-0cbf1ef13b67', '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/043dc0e6-a421-475e-b83d-0cbf1ef13b67', 'rel': 'self'}, {'href': 'http://localhost/federations/043dc0e6-a421-475e-b83d-0cbf1ef13b67', 'rel': 'bookmark'}]}, {'uuid': '7fd432e5-57d9-4ff1-a5c4-ff41ed825663', '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/7fd432e5-57d9-4ff1-a5c4-ff41ed825663', 'rel': 'self'}, {'href': 'http://localhost/federations/7fd432e5-57d9-4ff1-a5c4-ff41ed825663', 'rel': 'bookmark'}]}, {'uuid': '704ef745-3634-4bba-afad-6a75078e1255', '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/704ef745-3634-4bba-afad-6a75078e1255', 'rel': 'self'}, {'href': 'http://localhost/federations/704ef745-3634-4bba-afad-6a75078e1255', 'rel': 'bookmark'}]}, {'uuid': '470aefb1-0209-4c2e-814f-a4244abc50f7', '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/470aefb1-0209-4c2e-814f-a4244abc50f7', 'rel': 'self'}, {'href': 'http://localhost/federations/470aefb1-0209-4c2e-814f-a4244abc50f7', 'rel': 'bookmark'}]}]}magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_many -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_many ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_one +GOT:{'federations': [{'uuid': 'fa2c24da-1699-4957-892b-2167ec8e71a4', '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/fa2c24da-1699-4957-892b-2167ec8e71a4', 'rel': 'self'}, {'href': 'http://localhost/federations/fa2c24da-1699-4957-892b-2167ec8e71a4', 'rel': 'bookmark'}]}, {'uuid': 'c77394d9-c9eb-4a7e-9935-0b12efe44162', '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/c77394d9-c9eb-4a7e-9935-0b12efe44162', 'rel': 'self'}, {'href': 'http://localhost/federations/c77394d9-c9eb-4a7e-9935-0b12efe44162', 'rel': 'bookmark'}]}, {'uuid': '0b4fc1b5-2bb5-47cb-81a2-498de8a00b3d', '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/0b4fc1b5-2bb5-47cb-81a2-498de8a00b3d', 'rel': 'self'}, {'href': 'http://localhost/federations/0b4fc1b5-2bb5-47cb-81a2-498de8a00b3d', 'rel': 'bookmark'}]}, {'uuid': '20873f46-9388-4b7e-8b2e-5f2c5c56fa89', '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/20873f46-9388-4b7e-8b2e-5f2c5c56fa89', 'rel': 'self'}, {'href': 'http://localhost/federations/20873f46-9388-4b7e-8b2e-5f2c5c56fa89', 'rel': 'bookmark'}]}, {'uuid': 'fb7a0ac6-84d6-49bd-b056-f30d7f8dd9db', '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/fb7a0ac6-84d6-49bd-b056-f30d7f8dd9db', 'rel': 'self'}, {'href': 'http://localhost/federations/fb7a0ac6-84d6-49bd-b056-f30d7f8dd9db', 'rel': 'bookmark'}]}]} +GET: /v1/federations {} +GOT:{'federations': [{'uuid': 'e1dcd5b5-8f3d-4576-b641-08f101280208', '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/e1dcd5b5-8f3d-4576-b641-08f101280208', 'rel': 'self'}, {'href': 'http://localhost/federations/e1dcd5b5-8f3d-4576-b641-08f101280208', '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.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.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.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.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.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.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.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.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.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.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.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 -GET: /v1/federations {} -GOT:{'federations': [{'uuid': '4ab4b7a6-03c6-4c97-8a73-f2d0001e16e7', '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/4ab4b7a6-03c6-4c97-8a73-f2d0001e16e7', 'rel': 'self'}, {'href': 'http://localhost/federations/4ab4b7a6-03c6-4c97-8a73-f2d0001e16e7', 'rel': 'bookmark'}]}]} -POST: /v1/federations {'uuid': '5dc7d3dd-a8dc-4b51-a7b7-ab6706edd336', '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.'} +POST: /v1/federations {'uuid': 'b5b1716d-1e1d-4e2f-a74d-d5f2dd6f5c55', 'name': 'fake-name', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "248bd4b9-f10c-4131-b56c-685de11d360a"} +{"uuid": "47a22251-fb61-4f32-ab42-6635f8ea2d9d"} 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 @@ -7821,16 +7765,16 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "5124a2b9-9fcd-4343-aef7-d869500a2afc"} -POST: /v1/federations {'uuid': '55804679-03a6-4cee-a5f6-70b71d4594be', 'name': 'fake-name', 'hostcluster_id': '72eb47b1-8f8a-4475-9dbd-06d8d2b39858', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} +{"uuid": "a13f991e-a865-4bbb-9a2e-f2c6a597228a"} +POST: /v1/federations {'uuid': 'd2351bd1-0e60-456a-9e52-ae0dbbdbfbda', 'name': 'fake-name', 'hostcluster_id': 'c88c7cda-d686-4bab-be75-c961ed46f10f', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 72eb47b1-8f8a-4475-9dbd-06d8d2b39858 could not be found", "detail": "Cluster 72eb47b1-8f8a-4475-9dbd-06d8d2b39858 could not be found.", "links": []}]} -POST: /v1/federations {'uuid': '1a7b501f-eb48-4f57-bfc7-af9bca6f9c76', '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 c88c7cda-d686-4bab-be75-c961ed46f10f could not be found", "detail": "Cluster c88c7cda-d686-4bab-be75-c961ed46f10f could not be found.", "links": []}]} +POST: /v1/federations {'uuid': '86339c2e-e9db-4781-be0e-1ff57f14a273', 'name': 'fake-name', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 @@ -7838,7 +7782,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': '61908916-da1c-439d-a3c8-35e7117300a0', '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': '311c6490-b091-4cb8-a443-a486e940b277', 'name': 'fake-name', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 @@ -7846,7 +7790,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': 'e5160d14-7861-4c77-afb7-240bf6eee05e', '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': '742b71d7-463a-44c5-95e1-88437a2f1bad', 'name': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 @@ -7854,7 +7798,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': 'ae92e6ac-5c12-4646-90bf-10a62fbe3298', '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': '6e92ec0d-98f0-4397-a984-ef9df06d1f36', 'name': '123456', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 @@ -7862,7 +7806,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': 'b7af3e7b-49a9-4a4b-ad43-2d3a56d3fb16', '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': 'a4b38fba-d136-4ab1-a747-ba2eaf0e5a47', 'name': '123456test_federation', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 @@ -7870,7 +7814,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': 'a7fb45fb-a6a7-4d9b-8c7a-6aa47a2988fe', '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': '65235798-abd4-419e-be98-0cff49eb2b23', 'name': '-test_federation', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 @@ -7878,65 +7822,39 @@ 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': 'f34452ce-a082-46f7-baaf-074a0e17e65a', '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': 'ec64dd3d-f859-4c08-a78e-c4a218139b8e', 'name': '.test_federation', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: '.test_federation'. Value should match the pattern ^[a-zA-Z][a-zA-Z0-9_.-]*$", "links": []}]}magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_with_invalid_name +{"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': '762765ce-cb60-4d86-8a54-e92942af0887', '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.'}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_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.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_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.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_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 -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_federation.DbFederationTestCase.test_create_federation -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_create_federation ... ok magnum.tests.unit.api.controllers.v1.test_nodegroup.TestNodeGroupPolicyEnforcement.test_policy_disallow_get_one magnum.tests.unit.api.controllers.v1.test_nodegroup.TestNodeGroupPolicyEnforcement.test_policy_disallow_get_one ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestNodegroupObject.test_nodegroup_init -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestNodegroupObject.test_nodegroup_init ... ok -magnum.tests.unit.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.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.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.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.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.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.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.api.controllers.v1.test_nodegroup.TestPatch.test_remove_internal_attr +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_internal_attr ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_min_node_count +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_min_node_count ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_non_existent_property +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_non_existent_property ... ok -POST: /v1/federations {'uuid': 'ef5b7199-6d56-4ace-b3c5-643b851165b5', 'name': '_test_federation', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 @@ -7944,7 +7862,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': '3cf0d2cb-59fa-42c4-8ae4-2aa7383983cb', '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': '160061b5-abc1-477e-acfe-9492a6f69f5b', 'name': '', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 @@ -7952,21 +7870,21 @@ Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: ''. Value should have a minimum character requirement of 1", "links": []}]} -POST: /v1/federations {'uuid': 'ed5c5d89-62cd-4f31-802d-a82ba6cc2927', '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': 'bbc2f5b9-efc6-4f32-b4dc-f552e6f95920', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "3d057321-fea8-429e-bb55-a5285fa570b4"} +{"uuid": "cb314a2d-bb51-4ba7-b631-c9e274a07319"} 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/clusters/cb6b5c98-f2ea-4267-ac6d-dfba867d1e83/nodegroups {} +GET: /v1/clusters/604222a3-4d85-4b39-9fdd-f297b4438110/nodegroups {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 @@ -7974,7 +7892,7 @@ Openstack-Api-Version: container-infra 1.12 Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow nodegroup:get_all to be performed", "detail": "Policy doesn't allow nodegroup:get_all to be performed.", "links": []}]} -GET: /v1/clusters/e593b0b4-d842-48c7-87cc-1825b3a48740/nodegroups/2c2366a6-074c-4b83-b906-62a550c8b729 {} +GET: /v1/clusters/d92b0c0b-d571-4bd0-b50a-10838245d4ae/nodegroups/611ba0cc-184e-4059-8dbd-96f4c9ca2cb4 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 @@ -7982,113 +7900,63 @@ Openstack-Api-Version: container-infra 1.12 Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow nodegroup:get to be performed", "detail": "Policy doesn't allow nodegroup:get to be performed.", "links": []}]} -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.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.12 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Creating master nodegroups is currently not supported", "detail": "Creating master nodegroups is currently not supported.", "links": []}]} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} -GOT:Response: 409 Conflict -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Cluster API address is not available yet", "detail": "Cluster API address is not available yet", "links": []}]} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'test-master', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} -GOT:Response: 409 Conflict -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "A node group with name test-master already exists in the cluster cluster1", "detail": "A node group with name test-master already exists in the cluster cluster1.", "links": []}]} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': {'label3': 'value3'}, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -Vary: OpenStack-API-Version -{"id": 12, "uuid": "c83c7ec5-18ad-4469-8621-94d65c36d74e", "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/c83c7ec5-18ad-4469-8621-94d65c36d74e", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/c83c7ec5-18ad-4469-8621-94d65c36d74e", "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-10-17T17:08:49.620372+00:00", "updated_at": null}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.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.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.db.test_federation.DbFederationTestCase.test_get_federation_list -magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list ... 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.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.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.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.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup ... ok -/build/reproducible-path/magnum-21.0.0~rc1/magnum/db/sqlalchemy/api.py:103: 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-21.0.0~rc1/magnum/db/sqlalchemy/api.py:103: 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.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_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.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_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 - -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} +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/node_count' is an internal attribute and can not be updated", "detail": "'/node_count' is an internal attribute and can not be updated", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/min_node_count', 'op': 'remove'}] GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.12 Vary: OpenStack-API-Version -{"id": 12, "uuid": "402752db-f42d-4de3-9bd1-1ceb3981ec91", "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/402752db-f42d-4de3-9bd1-1ceb3981ec91", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/402752db-f42d-4de3-9bd1-1ceb3981ec91", "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-10-17T17:08:49.684163+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 +{"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-09-14T10:49:33.813235+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-09-14T10:49:33.813235+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/not_there', 'op': 'remove'}] +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.12 Vary: OpenStack-API-Version -{"id": 12, "uuid": "331d190e-ade3-4ac8-a5ce-2e65e048581d", "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/331d190e-ade3-4ac8-a5ce-2e65e048581d", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/331d190e-ade3-4ac8-a5ce-2e65e048581d", "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-10-17T17:08:49.727563+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} +{"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'}]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.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_nodegroup.TestPatch.test_replace_node_count_failed +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_node_count_failed ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_ok ... ok + GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.12 Vary: OpenStack-API-Version -{"id": 12, "uuid": "6509b30b-b306-4be8-85b3-4252226242e2", "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/6509b30b-b306-4be8-85b3-4252226242e2", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/6509b30b-b306-4be8-85b3-4252226242e2", "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} +{"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-09-14T10:49:33.917870+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-09-14T10:49:33.917870+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.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.12 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "max_node_count for nodegroup1 is invalid (node_count (7) should be less or equal to max_node_count (5))", "detail": "max_node_count for nodegroup1 is invalid (node_count (7) should be less or equal to max_node_count (5)).", "links": []}]} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 2, 'role': 'worker', 'max_node_count': None, 'min_node_count': 3, 'merge_labels': False} +{"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.12 @@ -8096,217 +7964,128 @@ Openstack-Api-Version: container-infra 1.12 Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 409, "title": "min_node_count for nodegroup1 is invalid (min_node_count (3) should be less or equal to node_count (2))", "detail": "min_node_count for nodegroup1 is invalid (min_node_count (3) should be less or equal to node_count (2)).", "links": []}]} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'name': 'test_ng'} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -Vary: OpenStack-API-Version -{"id": 3, "uuid": "84d6cd17-5757-4785-b109-fcac81892c97", "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/84d6cd17-5757-4785-b109-fcac81892c97", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/84d6cd17-5757-4785-b109-fcac81892c97", "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}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_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.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_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.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_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.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_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.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.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 - -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -Vary: OpenStack-API-Version -{"id": 12, "uuid": "48c85b8e-996d-4e4b-81cb-5c7237226121", "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/48c85b8e-996d-4e4b-81cb-5c7237226121", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/48c85b8e-996d-4e4b-81cb-5c7237226121", "rel": "bookmark"}], "flavor_id": "test_flavor", "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -Vary: OpenStack-API-Version -{"id": 12, "uuid": "58bb16f1-6d11-48a1-bdef-77e6497f300d", "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/58bb16f1-6d11-48a1-bdef-77e6497f300d", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/58bb16f1-6d11-48a1-bdef-77e6497f300d", "rel": "bookmark"}], "flavor_id": null, "image_id": "test_image", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': {'label1': 'value1'}, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -Vary: OpenStack-API-Version -{"id": 12, "uuid": "dd458de8-a95f-4e13-9b69-f3a822c95ee3", "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/dd458de8-a95f-4e13-9b69-f3a822c95ee3", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/dd458de8-a95f-4e13-9b69-f3a822c95ee3", "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 +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.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.12 Vary: OpenStack-API-Version -{"id": 12, "uuid": "eb44ac05-cc39-4149-822e-ac04fe68f129", "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/eb44ac05-cc39-4149-822e-ac04fe68f129", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/eb44ac05-cc39-4149-822e-ac04fe68f129", "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} +{"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.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.12 Vary: OpenStack-API-Version -{"id": 12, "uuid": "2cb5c2f9-6293-4d75-bcf3-38827833a419", "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/2cb5c2f9-6293-4d75-bcf3-38827833a419", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/2cb5c2f9-6293-4d75-bcf3-38827833a419", "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} +{"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-09-14T10:49:34.103851+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-09-14T10:49:34.103851+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.12 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.12 Vary: OpenStack-API-Version -{"id": 12, "uuid": "fbb750b7-a2f1-4fda-b5ff-1394ce4a0595", "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/fbb750b7-a2f1-4fda-b5ff-1394ce4a0595", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/fbb750b7-a2f1-4fda-b5ff-1394ce4a0595", "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}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.test_quota.DbQuotaTestCase.test_get_quota_all -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_all ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_without_node_count -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_without_node_count ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuotaObject.test_quota_init -magnum.tests.unit.api.controllers.v1.test_quota.TestQuotaObject.test_quota_init ... ok -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 +{"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-09-14T10:49:34.149592+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_nodegroup.TestPatch.test_update_nodegroup_as_admin +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_update_nodegroup_as_admin ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: 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:371: 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:371: 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:371: 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:371: 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:371: 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:371: 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:371: 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:371: 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:371: 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:371: 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:371: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_tenant_stats +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_tenant_stats ... ok +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_empty +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_empty ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: 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:371: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_invalid_type_stats +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_invalid_type_stats ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: 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:371: 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:371: 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:371: 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:371: 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:371: 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:371: 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:371: 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:371: 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:371: 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:371: 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:371: 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.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.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.db.test_quota.DbQuotaTestCase.test_get_quota_list -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list ... 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.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.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_types.TestMultiType.test_multitype_tostring -magnum.tests.unit.api.controllers.v1.test_types.TestMultiType.test_multitype_tostring ... 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.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.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.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.db.test_quota.DbQuotaTestCase.test_update_quota -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_update_quota ... 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.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.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.db.test_x509keypair.DbX509KeyPairTestCase.test_create_x509keypair -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_create_x509keypair ... 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.db.test_x509keypair.DbX509KeyPairTestCase.test_create_x509keypair_already_exists -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_create_x509keypair_already_exists ... ok -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_destroy_x509keypair -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_destroy_x509keypair ... ok -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_destroy_x509keypair_by_uuid -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_destroy_x509keypair_by_uuid ... ok -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_destroy_x509keypair_that_does_not_exist -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_destroy_x509keypair_that_does_not_exist ... ok -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_by_id -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_by_id ... ok -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_by_uuid -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_by_uuid ... ok -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_list -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_list ... ok -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_list_by_admin_all_tenants -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_list_by_admin_all_tenants ... ok -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_that_does_not_exist -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_that_does_not_exist ... ok -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_disabled_with_fp -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_disabled_with_fp ... ok -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_disabled_without_fp -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_disabled_without_fp ... ok -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_enable_lbfip_disable -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_enable_lbfip_disable ... ok -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_enable_lbfip_template_disable_cluster_enable -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_enable_lbfip_template_disable_cluster_enable ... ok -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_enabled_with_fp -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_enabled_with_fp ... ok -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_enabled_without_fp -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_enabled_without_fp ... ok -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_fip_enabled_without_fp -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_fip_enabled_without_fp ... ok -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_master_lb_fip_disabled_cluster_fip_enabled -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_master_lb_fip_disabled_cluster_fip_enabled ... ok -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_output_with_mapping_type -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_output_with_mapping_type ... ok -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_get_driver_not_supported -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_get_driver_not_supported ... ok -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_get_vm_fcos_kubernetes_definition -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_get_vm_fcos_kubernetes_definition ... ok -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_load_entry_points -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_load_entry_points ... ok -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_output_mapping -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_output_mapping ... ok -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_required_param_not_set -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_required_param_not_set ... ok -magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_create -magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_create ... ok -magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_destroy -magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_destroy ... ok -magnum.tests.unit.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.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.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.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.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.controllers.v1.test_types.TestMacAddressType.test_frombasetype +magnum.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_frombasetype ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_frombasetype_no_value +magnum.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_frombasetype_no_value ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_invalid_mac_addr +magnum.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_invalid_mac_addr ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_valid_mac_addr +magnum.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_valid_mac_addr ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestUuidType.test_invalid_uuid +magnum.tests.unit.api.controllers.v1.test_types.TestUuidType.test_invalid_uuid ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestUuidType.test_valid_uuid +magnum.tests.unit.api.controllers.v1.test_types.TestUuidType.test_valid_uuid ... ok +magnum.tests.unit.api.test_app.TestAppConfig.test_get_pecan_config +magnum.tests.unit.api.test_app.TestAppConfig.test_get_pecan_config ... ok magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_external_network_with_invalid_network 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 @@ -8323,8 +8102,6 @@ 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.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.api.test_attr_validator.TestAttrValidator.test_validate_fixed_subnet_with_valid_subnet magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_fixed_subnet_with_valid_subnet ... ok magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_flavor_root_volume_size_with_invalid_resources @@ -8333,8 +8110,6 @@ magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_flavor_root_volume_size_with_valid_boot_volume_size ... ok magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_flavor_root_volume_size_with_valid_flavor magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_flavor_root_volume_size_with_valid_flavor ... ok -magnum.tests.unit.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.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 @@ -8349,12 +8124,8 @@ magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_image_with_multi_images_same_name ... ok magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_image_with_nonexist_image_by_id magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_image_with_nonexist_image_by_id ... ok -magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_list -magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_list ... 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.objects.test_cluster_template.TestClusterTemplateObject.test_refresh -magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_refresh ... 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 @@ -8371,274 +8142,44 @@ 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.objects.test_cluster_template.TestClusterTemplateObject.test_save -magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_save ... 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.objects.test_federation.TestFederationObject.test_create -magnum.tests.unit.objects.test_federation.TestFederationObject.test_create ... 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.objects.test_federation.TestFederationObject.test_destroy -magnum.tests.unit.objects.test_federation.TestFederationObject.test_destroy ... 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.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.api.test_hooks.TestNoExceptionTracebackHook.test_hook_exception_success -magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_exception_success ... 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.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.objects.test_federation.TestFederationObject.test_get_by_name -magnum.tests.unit.objects.test_federation.TestFederationObject.test_get_by_name ... 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.objects.test_federation.TestFederationObject.test_get_by_uuid -magnum.tests.unit.objects.test_federation.TestFederationObject.test_get_by_uuid ... 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.objects.test_federation.TestFederationObject.test_list -magnum.tests.unit.objects.test_federation.TestFederationObject.test_list ... ok -magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback -magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_cluster_type_not_supported -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_cluster_type_not_supported ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_cluster_type_supported -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_cluster_type_supported ... ok -magnum.tests.unit.objects.test_federation.TestFederationObject.test_list_all -magnum.tests.unit.objects.test_federation.TestFederationObject.test_list_all ... 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.objects.test_federation.TestFederationObject.test_list_with_filters -magnum.tests.unit.objects.test_federation.TestFederationObject.test_list_with_filters ... 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.objects.test_federation.TestFederationObject.test_refresh -magnum.tests.unit.objects.test_federation.TestFederationObject.test_refresh ... 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.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.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.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.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.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.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.objects.test_fields.TestContainerStatus.test_to_primitive -magnum.tests.unit.objects.test_fields.TestContainerStatus.test_to_primitive ... ok -magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_coerce_bad_values -magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_coerce_bad_values ... ok -magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_coerce_good_values -magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_coerce_good_values ... ok -magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_from_primitive -magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_from_primitive ... ok -magnum.tests.unit.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.objects.test_fields.TestMagnumServiceBinary.test_stringify -magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_stringify ... ok -magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_stringify_invalid -magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_stringify_invalid ... ok -magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_to_primitive -magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_to_primitive ... ok -magnum.tests.unit.objects.test_fields.TestServerType.test_coerce_bad_values -magnum.tests.unit.objects.test_fields.TestServerType.test_coerce_bad_values ... ok -magnum.tests.unit.objects.test_fields.TestServerType.test_coerce_good_values -magnum.tests.unit.objects.test_fields.TestServerType.test_coerce_good_values ... ok -magnum.tests.unit.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.objects.test_fields.TestServerType.test_from_primitive -magnum.tests.unit.objects.test_fields.TestServerType.test_from_primitive ... 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.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.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.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.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.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.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.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.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.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.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.objects.test_magnum_service.TestMagnumServiceObject.test_save -magnum.tests.unit.objects.test_magnum_service.TestMagnumServiceObject.test_save ... ok -magnum.tests.unit.objects.test_objects.TestObjectVersions.test_versions -magnum.tests.unit.objects.test_objects.TestObjectVersions.test_versions ... ok -magnum.tests.unit.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.objects.test_x509keypair.TestX509KeyPairObject.test_create -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_create ... 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.objects.test_x509keypair.TestX509KeyPairObject.test_destroy -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_destroy ... ok -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_get_bad_id_and_uuid -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_get_bad_id_and_uuid ... ok -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_get_by_id -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_get_by_id ... ok -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_get_by_uuid -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_get_by_uuid ... ok -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_list -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_list ... ok -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_list_all -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_list_all ... ok -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_refresh -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_refresh ... ok -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_save -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_save ... ok -magnum.tests.unit.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.template.test_template.TestTemplate.test_template_yaml -magnum.tests.unit.template.test_template.TestTemplate.test_template_yaml ... ok -magnum.tests.unit.cmd.test_driver_manage.TestMagnumDriverManage.test_none_arg -magnum.tests.unit.cmd.test_driver_manage.TestMagnumDriverManage.test_none_arg ... ok - -GET: /v1/quotas/fake_project/Cluster {} -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 5} -GOT:Response: 201 Created -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"id": 42, "hard_limit": 5, "project_id": "fake_project", "resource": "Cluster", "created_at": "2026-10-17T17:08:45.112913+00:00", "updated_at": null} -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.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 -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.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.test_hacking.HackingTestCase.test_assert_true_isinstance -magnum.tests.unit.test_hacking.HackingTestCase.test_assert_true_isinstance ... 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.test_hacking.HackingTestCase.test_check_explicit_underscore_import -magnum.tests.unit.test_hacking.HackingTestCase.test_check_explicit_underscore_import ... 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.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.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.api.test_hooks.TestContextHook.test_context_hook_before_method +magnum.tests.unit.api.test_hooks.TestContextHook.test_context_hook_before_method ... ok +magnum.tests.unit.api.test_hooks.TestContextHook.test_context_hook_before_method_auth_info +magnum.tests.unit.api.test_hooks.TestContextHook.test_context_hook_before_method_auth_info ... ok +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanCert.test_barbican_cert +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanCert.test_barbican_cert ... ok +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanCert.test_barbican_cert_none_values +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanCert.test_barbican_cert_none_values ... ok magnum.tests.unit.common.cert_manager.test_cert_manager.TestCertManager.test_barbican_cert_manager magnum.tests.unit.common.cert_manager.test_cert_manager.TestCertManager.test_barbican_cert_manager ... ok magnum.tests.unit.common.cert_manager.test_cert_manager.TestCertManager.test_local_cert_manager magnum.tests.unit.common.cert_manager.test_cert_manager.TestCertManager.test_local_cert_manager ... ok -magnum.tests.unit.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 -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.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.x509.test_sign.TestX509.test_generate_ca_certificate_with_bytes_issuer_name +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_with_bytes_issuer_name ... ok +magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_delete_no_permission +magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_delete_no_permission ... ok +magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_get_all_no_permission +magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_get_all_no_permission ... ok +magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_get_no_permission +magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_get_no_permission ... ok +magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_update_no_permission +magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_update_no_permission ... ok magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_create_no_permission magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_create_no_permission ... ok -magnum.tests.unit.test_hacking.HackingTestCase.test_no_xrange -magnum.tests.unit.test_hacking.HackingTestCase.test_no_xrange ... ok -stdin:1:1: M310 timeutils.utcnow() must be used instead of datetime.now() -stdin:1:1: M310 timeutils.utcnow() must be used instead of datetime.utcnow() -magnum.tests.unit.test_hacking.HackingTestCase.test_use_timeunitls_utcow -magnum.tests.unit.test_hacking.HackingTestCase.test_use_timeunitls_utcow ... ok magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_delete_no_permission magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_delete_no_permission ... ok magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_detail_list_no_permission @@ -8649,12 +8190,18 @@ 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.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.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.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 @@ -8707,6 +8254,34 @@ magnum.tests.unit.common.test_context.ContextTestCase.test_request_context_sets_is_admin ... ok magnum.tests.unit.common.test_context.ContextTestCase.test_to_dict_from_dict magnum.tests.unit.common.test_context.ContextTestCase.test_to_dict_from_dict ... ok +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_access_info +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_access_info ... ok +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_no_credentials +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_no_credentials ... ok +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_password +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_password ... ok +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_password_legacy +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_password_legacy ... ok +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_token +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_token ... ok +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_create_trust_with_all_roles +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_create_trust_with_all_roles ... ok +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_create_trust_with_limit_roles +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_create_trust_with_limit_roles ... ok +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_create_trustee +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_create_trustee ... ok +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_delete_trust +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_delete_trust ... ok +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_delete_trust_not_found +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_delete_trust_not_found ... ok +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_get_validate_region_name +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_get_validate_region_name ... ok +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_get_validate_region_name_is_None +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_get_validate_region_name_is_None ... ok +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_get_validate_region_name_not_found +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_get_validate_region_name_not_found ... ok +magnum.tests.unit.common.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 @@ -8729,42 +8304,28 @@ magnum.tests.unit.common.test_neutron.NeutronTest.test_get_fixed_subnet_id_conflict ... ok magnum.tests.unit.common.test_neutron.NeutronTest.test_get_fixed_subnet_id_notfound magnum.tests.unit.common.test_neutron.NeutronTest.test_get_fixed_subnet_id_notfound ... ok +magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers +magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers ... ok +magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_already_deleted +magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_already_deleted ... ok +magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_no_candidate +magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_no_candidate ... ok +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_has_publickey +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_has_publickey ... ok +magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_timeout +magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_timeout ... ok +magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_with_stack_not_found +magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_with_stack_not_found ... ok +magnum.tests.unit.common.test_policy.TestPolicy.test_check_is_admin_with_admin_context_succeeds +magnum.tests.unit.common.test_policy.TestPolicy.test_check_is_admin_with_admin_context_succeeds ... ok +magnum.tests.unit.common.test_policy.TestPolicy.test_check_is_admin_with_user_context_fails +magnum.tests.unit.common.test_policy.TestPolicy.test_check_is_admin_with_user_context_fails ... ok magnum.tests.unit.common.test_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.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.common.test_rpc.TestRpc.test_get_client -magnum.tests.unit.common.test_rpc.TestRpc.test_get_client ... ok -magnum.tests.unit.common.test_rpc.TestRpc.test_get_client_profiler_enabled -magnum.tests.unit.common.test_rpc.TestRpc.test_get_client_profiler_enabled ... ok -magnum.tests.unit.common.test_rpc.TestRpc.test_get_server -magnum.tests.unit.common.test_rpc.TestRpc.test_get_server ... ok -magnum.tests.unit.common.test_rpc.TestRpc.test_get_server_profiler_enabled -magnum.tests.unit.common.test_rpc.TestRpc.test_get_server_profiler_enabled ... ok -magnum.tests.unit.common.test_rpc.TestRpc.test_get_transport_url -magnum.tests.unit.common.test_rpc.TestRpc.test_get_transport_url ... ok -magnum.tests.unit.common.test_rpc.TestRpc.test_get_transport_url_null -magnum.tests.unit.common.test_rpc.TestRpc.test_get_transport_url_null ... ok -magnum.tests.unit.common.test_rpc.TestRpc.test_serialize_entity -magnum.tests.unit.common.test_rpc.TestRpc.test_serialize_entity ... ok -magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get -magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get ... ok -magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get_exceed_manifest_size -magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get_exceed_manifest_size ... ok -magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get_unsupported_scheme -magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get_unsupported_scheme ... ok magnum.tests.unit.common.test_utils.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 @@ -8777,6 +8338,8 @@ magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables ... ok magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_without_root_helper magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_without_root_helper ... ok +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_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.test_utils.ExecuteTestCase.test_no_retry_on_success magnum.tests.unit.common.test_utils.ExecuteTestCase.test_no_retry_on_success ... ok magnum.tests.unit.common.test_utils.ExecuteTestCase.test_retry_on_failure @@ -8793,84 +8356,6 @@ magnum.tests.unit.common.test_utils.ExecuteTestCase.test_validate_and_normalize_mac_invalid_format ... ok magnum.tests.unit.common.test_utils.GeneratePasswordTestCase.test_generate_password magnum.tests.unit.common.test_utils.GeneratePasswordTestCase.test_generate_password ... ok -magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir -magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir ... ok -magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked -magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked ... ok -magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked_error_on_rmtree -magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked_error_on_rmtree ... ok -magnum.tests.unit.common.x509.test_operations.TestX509Operations.test_decrypt_key -magnum.tests.unit.common.x509.test_operations.TestX509Operations.test_decrypt_key ... ok -magnum.tests.unit.common.x509.test_operations.TestX509Operations.test_generate_csr_and_key -magnum.tests.unit.common.x509.test_operations.TestX509Operations.test_generate_csr_and_key ... ok -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_has_publickey -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_has_publickey ... ok -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_extentions_as_ca -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_extentions_as_ca ... ok -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_issuer_name -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_issuer_name ... ok -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_subject_name -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_subject_name ... ok -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_with_bytes_issuer_name -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_with_bytes_issuer_name ... ok -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_has_publickey -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_has_publickey ... ok -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_extentions_as_client -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_extentions_as_client ... ok -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_issuer_name -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_issuer_name ... ok -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_subject_name -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_subject_name ... ok -magnum.tests.unit.common.x509.test_sign.TestX509.test_load_pem_private_key_with_bytes_private_key -magnum.tests.unit.common.x509.test_sign.TestX509.test_load_pem_private_key_with_bytes_private_key ... ok -magnum.tests.unit.common.x509.test_sign.TestX509.test_load_pem_private_key_with_unicode_private_key -magnum.tests.unit.common.x509.test_sign.TestX509.test_load_pem_private_key_with_unicode_private_key ... ok -magnum.tests.unit.common.x509.test_sign.TestX509.test_sign_empty_chars -magnum.tests.unit.common.x509.test_sign.TestX509.test_sign_empty_chars ... ok -magnum.tests.unit.common.x509.test_sign.TestX509.test_sign_subject_key_identifier -magnum.tests.unit.common.x509.test_sign.TestX509.test_sign_subject_key_identifier ... ok -magnum.tests.unit.common.x509.test_sign.TestX509.test_sign_with_invalid_csr -magnum.tests.unit.common.x509.test_sign.TestX509.test_sign_with_invalid_csr ... ok -magnum.tests.unit.common.x509.test_sign.TestX509.test_sign_with_unicode_csr -magnum.tests.unit.common.x509.test_sign.TestX509.test_sign_with_unicode_csr ... ok -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_create_client_files_in_cache -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_create_client_files_in_cache ... ok -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_create_client_files_notin_cache -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_create_client_files_notin_cache ... ok -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_create_client_files_set_file_permissions -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_create_client_files_set_file_permissions ... ok -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_create_client_files_temp_no_dir -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_create_client_files_temp_no_dir ... ok -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_certificates -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_certificates ... ok -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_certificates_if_raise_error -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_certificates_if_raise_error ... ok -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_certificates_without_cert_ref -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_certificates_without_cert_ref ... ok -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_client_files -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_client_files ... ok -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_client_files_none -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_client_files_none ... ok -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_generate_ca_cert -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_generate_ca_cert ... ok -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_generate_certificates -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_generate_certificates ... ok -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_generate_certificates_with_error -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_generate_certificates_with_error ... ok -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_generate_certificates_without_name -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_generate_certificates_without_name ... ok -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_generate_client_cert -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_generate_client_cert ... ok -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_get_cluster_ca_certificate -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_get_cluster_ca_certificate ... ok -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_get_cluster_ca_certificate_ca_cert_type -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_get_cluster_ca_certificate_ca_cert_type ... ok -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_get_cluster_magnum_cert -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_get_cluster_magnum_cert ... ok -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_sign_node_certificate -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_sign_node_certificate ... ok -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_sign_node_certificate_without_cluster_name -magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_sign_node_certificate_without_cluster_name ... ok magnum.tests.unit.conductor.handlers.common.test_trust_manager.TrustManagerTestCase.test_create_trustee_and_trust magnum.tests.unit.conductor.handlers.common.test_trust_manager.TrustManagerTestCase.test_create_trustee_and_trust ... ok magnum.tests.unit.conductor.handlers.common.test_trust_manager.TrustManagerTestCase.test_create_trustee_and_trust_with_error @@ -8881,6 +8366,10 @@ 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_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 @@ -8891,34 +8380,20 @@ 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.tasks.test_heat_tasks.HeatTasksTests.test_create_stack +magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_create_stack ... ok +magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_create_stack_with_error +magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_create_stack_with_error ... ok +magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_delete_stack +magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_delete_stack ... ok +magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_delete_stack_with_error +magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_delete_stack_with_error ... ok +magnum.tests.unit.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.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 @@ -8941,24 +8416,6 @@ magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_unreachable_with_master_lb ... ok magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_pull_data_success magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_pull_data_success ... ok -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_cluster_create -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_cluster_create ... ok -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_cluster_delete -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_cluster_delete ... ok -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_cluster_update -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_cluster_update ... ok -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_ca_certificate -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_ca_certificate ... ok -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_nodegroup_create -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_nodegroup_create ... ok -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_nodegroup_delete -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_nodegroup_delete ... ok -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_nodegroup_update -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_nodegroup_update ... ok -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_ping_conductor -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_ping_conductor ... ok -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_sign_certificate -magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_sign_certificate ... ok magnum.tests.unit.conductor.test_scale_manager.TestK8sScaleManager.test_get_hosts_with_container magnum.tests.unit.conductor.test_scale_manager.TestK8sScaleManager.test_get_hosts_with_container ... ok magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_no_container_host @@ -9071,6 +8528,8 @@ 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.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.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 @@ -9079,6 +8538,64 @@ magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_update_cluster_template_that_does_not_exist ... ok magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_update_cluster_template_uuid magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_update_cluster_template_uuid ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_create_federation +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_create_federation ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_create_federation_already_exists +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_create_federation_already_exists ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_id_that_does_not_exist +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_id_that_does_not_exist ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_uudid_that_does_not_exist +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_uudid_that_does_not_exist ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_uuid +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_destroy_federation_by_uuid ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_id +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_id ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_name +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_name ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_name_multiple_federation +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_name_multiple_federation ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_uuid +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_uuid ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list_by_admin_all_tenants +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list_by_admin_all_tenants ... ok +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list_sorted +magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list_sorted ... ok +/build/reproducible-path/magnum-21.0.0~rc1/magnum/db/sqlalchemy/api.py:103: 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-21.0.0~rc1/magnum/db/sqlalchemy/api.py:103: 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 @@ -9111,6 +8628,26 @@ magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_update_cluster ... ok magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_update_nodegroup_not_found magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_update_nodegroup_not_found ... ok +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_create_x509keypair +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_create_x509keypair ... ok +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_create_x509keypair_already_exists +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_create_x509keypair_already_exists ... ok +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_destroy_x509keypair +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_destroy_x509keypair ... ok +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_destroy_x509keypair_by_uuid +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_destroy_x509keypair_by_uuid ... ok +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_destroy_x509keypair_that_does_not_exist +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_destroy_x509keypair_that_does_not_exist ... ok +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_by_id +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_by_id ... ok +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_by_uuid +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_by_uuid ... ok +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_list +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_list ... ok +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_list_by_admin_all_tenants +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_list_by_admin_all_tenants ... ok +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_that_does_not_exist +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_that_does_not_exist ... ok magnum.tests.unit.drivers.test_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 @@ -9159,6 +8696,8 @@ 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.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.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 @@ -9225,6 +8764,36 @@ magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_outputs_node_address ... ok magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_outputs_node_address_fip_disabled magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_outputs_node_address_fip_disabled ... ok +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_disabled_with_fp +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_disabled_with_fp ... ok +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_disabled_without_fp +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_disabled_without_fp ... ok +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_enable_lbfip_disable +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_enable_lbfip_disable ... ok +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_enable_lbfip_template_disable_cluster_enable +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_enable_lbfip_template_disable_cluster_enable ... ok +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_enabled_with_fp +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_enabled_with_fp ... ok +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_enabled_without_fp +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_enabled_without_fp ... ok +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_fip_enabled_without_fp +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_fip_enabled_without_fp ... ok +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_master_lb_fip_disabled_cluster_fip_enabled +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_master_lb_fip_disabled_cluster_fip_enabled ... ok +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_output_with_mapping_type +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_output_with_mapping_type ... ok +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_get_driver_not_supported +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_get_driver_not_supported ... ok +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_get_vm_fcos_kubernetes_definition +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_get_vm_fcos_kubernetes_definition ... ok +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_load_entry_points +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_load_entry_points ... ok +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_output_mapping +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_output_mapping ... ok +magnum.tests.unit.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.drivers.test_template_definition.TemplateDefinitionTestCase.test_required_param_not_set +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_required_param_not_set ... ok magnum.tests.unit.objects.test_cluster.TestClusterObject.test_create magnum.tests.unit.objects.test_cluster.TestClusterObject.test_create ... ok magnum.tests.unit.objects.test_cluster.TestClusterObject.test_destroy @@ -9247,6 +8816,28 @@ magnum.tests.unit.objects.test_cluster.TestClusterObject.test_refresh ... ok magnum.tests.unit.objects.test_cluster.TestClusterObject.test_save magnum.tests.unit.objects.test_cluster.TestClusterObject.test_save ... ok +magnum.tests.unit.objects.test_federation.TestFederationObject.test_create +magnum.tests.unit.objects.test_federation.TestFederationObject.test_create ... ok +magnum.tests.unit.objects.test_federation.TestFederationObject.test_destroy +magnum.tests.unit.objects.test_federation.TestFederationObject.test_destroy ... ok +magnum.tests.unit.objects.test_federation.TestFederationObject.test_get_bad_id_and_uuid +magnum.tests.unit.objects.test_federation.TestFederationObject.test_get_bad_id_and_uuid ... ok +magnum.tests.unit.objects.test_federation.TestFederationObject.test_get_by_id +magnum.tests.unit.objects.test_federation.TestFederationObject.test_get_by_id ... ok +magnum.tests.unit.objects.test_federation.TestFederationObject.test_get_by_name +magnum.tests.unit.objects.test_federation.TestFederationObject.test_get_by_name ... ok +magnum.tests.unit.objects.test_federation.TestFederationObject.test_get_by_uuid +magnum.tests.unit.objects.test_federation.TestFederationObject.test_get_by_uuid ... ok +magnum.tests.unit.objects.test_federation.TestFederationObject.test_list +magnum.tests.unit.objects.test_federation.TestFederationObject.test_list ... ok +magnum.tests.unit.objects.test_federation.TestFederationObject.test_list_all +magnum.tests.unit.objects.test_federation.TestFederationObject.test_list_all ... ok +magnum.tests.unit.objects.test_federation.TestFederationObject.test_list_with_filters +magnum.tests.unit.objects.test_federation.TestFederationObject.test_list_with_filters ... ok +magnum.tests.unit.objects.test_federation.TestFederationObject.test_refresh +magnum.tests.unit.objects.test_federation.TestFederationObject.test_refresh ... ok +magnum.tests.unit.objects.test_federation.TestFederationObject.test_save +magnum.tests.unit.objects.test_federation.TestFederationObject.test_save ... ok magnum.tests.unit.objects.test_fields.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 @@ -9259,6 +8850,30 @@ 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_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_nodegroup.TestNodeGroupObject.test_create magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_create ... ok magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_destroy @@ -9281,6 +8896,8 @@ magnum.tests.unit.objects.test_objects.TestObject.test_base_attributes ... ok magnum.tests.unit.objects.test_objects.TestObject.test_changed_1 magnum.tests.unit.objects.test_objects.TestObject.test_changed_1 ... ok +magnum.tests.unit.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.objects.test_objects.TestObject.test_changed_2 magnum.tests.unit.objects.test_objects.TestObject.test_changed_2 ... ok magnum.tests.unit.objects.test_objects.TestObject.test_changed_3 @@ -9333,6 +8950,417 @@ 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.service.test_periodic.PeriodicTestCase.test_sync_cluster_health_status +magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_sync_cluster_health_status ... ok +magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_sync_cluster_status_changes +magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_sync_cluster_status_changes ... ok +magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_sync_cluster_status_heat_not_found +magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_sync_cluster_status_heat_not_found ... ok +magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_sync_cluster_status_not_changes +magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_sync_cluster_status_not_changes ... ok +magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_update_status_non_trusts_error +magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_update_status_non_trusts_error ... ok +magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_update_status_trusts_not_found +magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_update_status_trusts_not_found ... ok +magnum.tests.unit.template.test_template.TestTemplate.test_template_yaml +magnum.tests.unit.template.test_template.TestTemplate.test_template_yaml ... ok + +GOT:{'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'cluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 2, 'role': 'worker', 'min_node_count': 2, 'max_node_count': 4, 'is_default': False, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2025-09-14T10:49:34.149592+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/a79ee25f-f1e5-43a9-9241-7b97c3ce834c/nodegroups/d6422d47-d315-4c71-8206-1755e0fbdd3a [{'path': '/max_node_count', 'value': 4, 'op': 'replace'}] +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.12 +Vary: OpenStack-API-Version +{"id": 50, "uuid": "d6422d47-d315-4c71-8206-1755e0fbdd3a", "name": "nodegroup1", "cluster_id": "a79ee25f-f1e5-43a9-9241-7b97c3ce834c", "project_id": "fake", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/a79ee25f-f1e5-43a9-9241-7b97c3ce834c/nodegroups/d6422d47-d315-4c71-8206-1755e0fbdd3a", "rel": "self"}, {"href": "http://localhost/clusters/a79ee25f-f1e5-43a9-9241-7b97c3ce834c/nodegroups/d6422d47-d315-4c71-8206-1755e0fbdd3a", "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-09-14T10:49:34.273914+00:00", "updated_at": null} +GET: /v1/stats {} +GOT:{'clusters': 2, 'nodes': 12} +GET: /v1/stats?project_id=34 {} +GOT:{'clusters': 0, 'nodes': 0} +GET: /v1/stats?project_id=234 {} +GOT:{'clusters': 1, 'nodes': 6} +GET: /v1/stats {} +GOT:{'clusters': 0, 'nodes': 0} +GET: /v1/stats?project_id=123&type=invalid {} +GET: /v1/stats {} +GOT:{'clusters': 1, 'nodes': 6} +GET: /v1/stats {} +GOT:{'clusters': 1, 'nodes': 6} +GET: /v1/stats?project_id=123 {} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 +GET: /v1/clusters {} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +PATCH: /v1/clusters/cluster_example_A [{'path': '/node_count', 'value': 4, 'op': 'replace'}] +POST: /v1/federations {} +DELETE: /v1/federations/4a866dc3-e6b1-4bef-9194-089869fa7e6d +GET: /v1/federations/detail {} +GET: /v1/federations {} +GET: /v1/federations {} +GOT:{'federations': [{'uuid': '228ff8c1-a794-47db-b1b0-5f2477cd6a6a', '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/228ff8c1-a794-47db-b1b0-5f2477cd6a6a', 'rel': 'self'}, {'href': 'http://localhost/federations/228ff8c1-a794-47db-b1b0-5f2477cd6a6a', 'rel': 'bookmark'}]}]} +PATCH: /v1/federations/5701e516-7b79-46dc-ae4d-3aa7d3cc0eb4 [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'add'}] +GET: /v1/mservices {} +POST: /v1/clusters/9c3e102d-b8e7-4353-953f-16a200e54906/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/9b14f502-91d6-47e1-bb04-c7bf7259a83f/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 +GET: /v1/clusters/2d845bbd-c5b2-4cd4-a584-d2fcfe6f678e/nodegroups/ {} +GET: /v1/clusters/9db148cd-bd14-4305-acd4-06d11e447efb/nodegroups/foo {} +PATCH: /v1/clusters/63389cf5-f912-4564-a601-fe6f3e7c509d/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. +stdin:1:1: M338 Use assertIn/NotIn(A, B) rather than assertEqual(A in B, True/False) when checking collection contents. +stdin:1:1: M338 Use assertIn/NotIn(A, B) rather than assertEqual(A in B, True/False) when checking collection contents. +stdin:1:1: M338 Use assertIn/NotIn(A, B) rather than assertEqual(A in B, True/False) when checking collection contents. +stdin:1:1: M338 Use assertIn/NotIn(A, B) rather than assertEqual(A in B, True/False) when checking collection contents. +stdin:1:1: M338 Use assertIn/NotIn(A, B) rather than assertEqual(A in B, True/False) when checking collection contents. +magnum.tests.unit.test_hacking.HackingTestCase.test_assert_equal_in +magnum.tests.unit.test_hacking.HackingTestCase.test_assert_equal_in ... ok +stdin:1:1: M302 assertEqual(A is not None) sentences not allowed. +magnum.tests.unit.test_hacking.HackingTestCase.test_assert_is_not_none +magnum.tests.unit.test_hacking.HackingTestCase.test_assert_is_not_none ... ok +stdin:1:1: M316 assertTrue(isinstance(a, b)) sentences not allowed +magnum.tests.unit.test_hacking.HackingTestCase.test_assert_true_isinstance +magnum.tests.unit.test_hacking.HackingTestCase.test_assert_true_isinstance ... ok +magnum.tests.unit.test_hacking.HackingTestCase.test_check_explicit_underscore_import +magnum.tests.unit.test_hacking.HackingTestCase.test_check_explicit_underscore_import ... ok +magnum.tests.unit.test_hacking.HackingTestCase.test_dict_constructor_with_list_copy +magnum.tests.unit.test_hacking.HackingTestCase.test_dict_constructor_with_list_copy ... ok +stdin:1:1: M352 LOG.warn is deprecated, please use LOG.warning! +magnum.tests.unit.test_hacking.HackingTestCase.test_no_log_warn +magnum.tests.unit.test_hacking.HackingTestCase.test_no_log_warn ... ok +stdin:1:1: M322 Method's default argument shouldn't be mutable! +magnum.tests.unit.test_hacking.HackingTestCase.test_no_mutable_default_args +magnum.tests.unit.test_hacking.HackingTestCase.test_no_mutable_default_args ... ok +stdin:1:1: M339 Do not use xrange(). +magnum.tests.unit.test_hacking.HackingTestCase.test_no_xrange +magnum.tests.unit.test_hacking.HackingTestCase.test_no_xrange ... ok +stdin:1:1: M310 timeutils.utcnow() must be used instead of datetime.now() +stdin:1:1: M310 timeutils.utcnow() must be used instead of datetime.utcnow() +magnum.tests.unit.test_hacking.HackingTestCase.test_use_timeunitls_utcow +magnum.tests.unit.test_hacking.HackingTestCase.test_use_timeunitls_utcow ... ok +magnum.tests.unit.common.x509.test_sign.TestX509.test_sign_subject_key_identifier +magnum.tests.unit.common.x509.test_sign.TestX509.test_sign_subject_key_identifier ... ok +magnum.tests.unit.common.x509.test_sign.TestX509.test_sign_with_invalid_csr +magnum.tests.unit.common.x509.test_sign.TestX509.test_sign_with_invalid_csr ... ok +magnum.tests.unit.common.x509.test_sign.TestX509.test_sign_with_unicode_csr +magnum.tests.unit.common.x509.test_sign.TestX509.test_sign_with_unicode_csr ... ok +/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method + warnings.warn("TestResult has no addDuration method", +magnum.tests.unit.common.x509.test_validator.TestValidators.test_disallow_ca_in_basic_constraints +magnum.tests.unit.common.x509.test_validator.TestValidators.test_disallow_ca_in_basic_constraints ... ok +magnum.tests.unit.common.x509.test_validator.TestValidators.test_disallow_ca_in_basic_constraints_not_critical +magnum.tests.unit.common.x509.test_validator.TestValidators.test_disallow_ca_in_basic_constraints_not_critical ... ok +magnum.tests.unit.common.x509.test_validator.TestValidators.test_disallow_ca_in_basic_constraints_with_non_ca +magnum.tests.unit.common.x509.test_validator.TestValidators.test_disallow_ca_in_basic_constraints_with_non_ca ... ok +magnum.tests.unit.common.x509.test_validator.TestValidators.test_filter_allowed_extensions +magnum.tests.unit.common.x509.test_validator.TestValidators.test_filter_allowed_extensions ... ok +magnum.tests.unit.common.x509.test_validator.TestValidators.test_filter_allowed_extensions_disallowed +magnum.tests.unit.common.x509.test_validator.TestValidators.test_filter_allowed_extensions_disallowed ... ok +magnum.tests.unit.common.x509.test_validator.TestValidators.test_filter_allowed_extensions_disallowed_but_not_critical +magnum.tests.unit.common.x509.test_validator.TestValidators.test_filter_allowed_extensions_disallowed_but_not_critical ... ok +magnum.tests.unit.common.x509.test_validator.TestValidators.test_merge_key_usage +magnum.tests.unit.common.x509.test_validator.TestValidators.test_merge_key_usage ... ok +magnum.tests.unit.common.x509.test_validator.TestValidators.test_merge_key_usage_disallowed +magnum.tests.unit.common.x509.test_validator.TestValidators.test_merge_key_usage_disallowed ... ok +magnum.tests.unit.common.x509.test_validator.TestValidators.test_merge_key_usage_disallowed_but_not_critical +magnum.tests.unit.common.x509.test_validator.TestValidators.test_merge_key_usage_disallowed_but_not_critical ... ok +magnum.tests.unit.common.x509.test_validator.TestValidators.test_remove_ca_key_usage +magnum.tests.unit.common.x509.test_validator.TestValidators.test_remove_ca_key_usage ... ok +magnum.tests.unit.common.x509.test_validator.TestValidators.test_remove_ca_key_usage_cert_sign +magnum.tests.unit.common.x509.test_validator.TestValidators.test_remove_ca_key_usage_cert_sign ... ok +magnum.tests.unit.common.x509.test_validator.TestValidators.test_remove_ca_key_usage_crl_sign +magnum.tests.unit.common.x509.test_validator.TestValidators.test_remove_ca_key_usage_crl_sign ... ok +magnum.tests.unit.common.x509.test_validator.TestValidators.test_remove_ca_key_usage_without_ca_usage +magnum.tests.unit.common.x509.test_validator.TestValidators.test_remove_ca_key_usage_without_ca_usage ... ok +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_create_client_files_in_cache +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_create_client_files_in_cache ... ok +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_create_client_files_notin_cache +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_create_client_files_notin_cache ... ok +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_create_client_files_set_file_permissions +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_create_client_files_set_file_permissions ... ok +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_create_client_files_temp_no_dir +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_create_client_files_temp_no_dir ... ok +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_certificates +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_certificates ... ok +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_certificates_if_raise_error +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_certificates_if_raise_error ... ok +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_certificates_without_cert_ref +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_certificates_without_cert_ref ... ok +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_client_files +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_client_files ... ok +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_client_files_none +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_delete_client_files_none ... ok +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_generate_ca_cert +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_generate_ca_cert ... ok +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_generate_certificates +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_generate_certificates ... ok +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_generate_certificates_with_error +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_generate_certificates_with_error ... ok +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_generate_certificates_without_name +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_generate_certificates_without_name ... ok +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_generate_client_cert +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_generate_client_cert ... ok +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_get_cluster_ca_certificate +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_get_cluster_ca_certificate ... ok +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_get_cluster_ca_certificate_ca_cert_type +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_get_cluster_ca_certificate_ca_cert_type ... ok +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_get_cluster_magnum_cert +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_get_cluster_magnum_cert ... ok +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_sign_node_certificate +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_sign_node_certificate ... ok +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_sign_node_certificate_without_cluster_name +magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_sign_node_certificate_without_cluster_name ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_delete +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_delete ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_delete_conflict +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_delete_conflict ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_delete_with_lb +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_delete_with_lb ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_resize_failure +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_resize_failure ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_resize_success +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_resize_success ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_handles_bad_request +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_handles_bad_request ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_with_cert_failed +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_with_cert_failed ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_with_environment +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_with_environment ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_with_invalid_unicode_name +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_with_invalid_unicode_name ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_with_trust_failed +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_with_trust_failed ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_adopt_complete +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_adopt_complete ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_check_complete +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_check_complete ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_restore_complete +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_restore_complete ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_resume_complete +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_resume_complete ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_rollback_complete +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_rollback_complete ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_snapshot_complete +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_snapshot_complete ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_update_complete +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_update_complete ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_node_count_failure +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_node_count_failure ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_node_count_success +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_node_count_success ... ok +magnum.tests.unit.conductor.handlers.test_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_k8s_cluster_conductor.TestClusterConductorWithK8s.test_create_stack +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_create_stack ... ok +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_create_stack_no_timeout_specified +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_create_stack_no_timeout_specified ... ok +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_create_stack_timeout_is_zero +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_create_stack_timeout_is_zero ... ok +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition ... ok +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_fcos_no_discoveryurl +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_fcos_no_discoveryurl ... ok +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_fcos_with_discovery +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_fcos_with_discovery ... ok +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_only_required +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_only_required ... ok +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_with_registry +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_with_registry ... ok +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_apiserver_port +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_apiserver_port ... ok +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_discovery_url +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_discovery_url ... ok +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_dns +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_dns ... ok +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_docker_storage_driver +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_docker_storage_driver ... ok +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_server_image +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_server_image ... ok +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_update_stack +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_update_stack ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create_failed +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create_failed ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create_failed_bad_request +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create_failed_bad_request ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_failed +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_failed ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_stack_and_ng_not_found +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_stack_and_ng_not_found ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_stack_not_found +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_stack_not_found ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_stack_operation_ongoing +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_stack_operation_ongoing ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_udpate +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_udpate ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_update_failed +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_update_failed ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_update_failed_bad_request +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_update_failed_bad_request ... ok +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_cluster_create +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_cluster_create ... ok +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_cluster_delete +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_cluster_delete ... ok +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_cluster_update +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_cluster_update ... ok +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_ca_certificate +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_ca_certificate ... ok +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_nodegroup_create +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_nodegroup_create ... ok +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_nodegroup_delete +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_nodegroup_delete ... ok +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_nodegroup_update +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_nodegroup_update ... ok +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_ping_conductor +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_ping_conductor ... ok +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_sign_certificate +magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_sign_certificate ... ok +magnum.tests.unit.conductor.test_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_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.objects.test_cluster_template.TestClusterTemplateObject.test_create +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_create ... ok +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_destroy +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_destroy ... ok +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_get_bad_id_and_uuid +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_get_bad_id_and_uuid ... ok +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_get_by_id +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_get_by_id ... ok +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_get_by_name +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_get_by_name ... ok +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_get_by_uuid +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_get_by_uuid ... ok +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_list +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_list ... ok +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_refresh +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_refresh ... ok +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_save +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_save ... ok +magnum.tests.unit.objects.test_fields.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 +magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_coerce_good_values ... ok +magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_from_primitive +magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_from_primitive ... ok +magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_stringify +magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_stringify ... ok +magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_stringify_invalid +magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_stringify_invalid ... ok +magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_to_primitive +magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_to_primitive ... ok +magnum.tests.unit.objects.test_fields.TestServerType.test_coerce_bad_values +magnum.tests.unit.objects.test_fields.TestServerType.test_coerce_bad_values ... ok +magnum.tests.unit.objects.test_fields.TestServerType.test_coerce_good_values +magnum.tests.unit.objects.test_fields.TestServerType.test_coerce_good_values ... ok +magnum.tests.unit.objects.test_fields.TestServerType.test_from_primitive +magnum.tests.unit.objects.test_fields.TestServerType.test_from_primitive ... ok +magnum.tests.unit.objects.test_fields.TestServerType.test_stringify +magnum.tests.unit.objects.test_fields.TestServerType.test_stringify ... ok +magnum.tests.unit.objects.test_fields.TestServerType.test_stringify_invalid +magnum.tests.unit.objects.test_fields.TestServerType.test_stringify_invalid ... ok +magnum.tests.unit.objects.test_fields.TestServerType.test_to_primitive +magnum.tests.unit.objects.test_fields.TestServerType.test_to_primitive ... ok magnum.tests.unit.objects.test_objects.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 @@ -9349,18 +9377,26 @@ 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.service.test_periodic.PeriodicTestCase.test_sync_cluster_health_status -magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_sync_cluster_health_status ... ok -magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_sync_cluster_status_changes -magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_sync_cluster_status_changes ... ok -magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_sync_cluster_status_heat_not_found -magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_sync_cluster_status_heat_not_found ... ok -magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_sync_cluster_status_not_changes -magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_sync_cluster_status_not_changes ... ok -magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_update_status_non_trusts_error -magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_update_status_non_trusts_error ... ok -magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_update_status_trusts_not_found -magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_update_status_trusts_not_found ... ok +magnum.tests.unit.objects.test_objects.TestObjectVersions.test_versions +magnum.tests.unit.objects.test_objects.TestObjectVersions.test_versions ... ok +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_create +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_create ... ok +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_destroy +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_destroy ... ok +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_get_bad_id_and_uuid +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_get_bad_id_and_uuid ... ok +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_get_by_id +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_get_by_id ... ok +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_get_by_uuid +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_get_by_uuid ... ok +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_list +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_list ... ok +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_list_all +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_list_all ... ok +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_refresh +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_refresh ... ok +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_save +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_save ... ok magnum.tests.unit.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 @@ -9368,18 +9404,6 @@ 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 -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.12 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.12 -Vary: OpenStack-API-Version -{"id": 12, "uuid": "4c962394-39ab-4a74-ada3-4048ba23c29a", "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/4c962394-39ab-4a74-ada3-4048ba23c29a", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/4c962394-39ab-4a74-ada3-4048ba23c29a", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 1, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} -GET: / {} -GOT:Response: 500 Internal Server Error -Content-Type: application/json -{"errors": [{"request_id": "", "code": "server", "status": 500, "title": "Test exception message", "detail": "Test exception message.", "links": []}]} GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json @@ -9396,13 +9420,36 @@ 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/2bd3a145-731c-4a50-81b9-32dc000c2694 -GET: /v1/federations/detail {} -GET: /v1/federations {} -GET: /v1/federations {} -GOT:{'federations': [{'uuid': '83730f6f-c039-4277-8c57-75cfd6218189', '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/83730f6f-c039-4277-8c57-75cfd6218189', 'rel': 'self'}, {'href': 'http://localhost/federations/83730f6f-c039-4277-8c57-75cfd6218189', 'rel': 'bookmark'}]}]} -PATCH: /v1/federations/4b8e40e9-79f8-4ee6-97d7-732cc534af0a [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'add'}] +POST: /v1/certificates {'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'csr': 'fake-csr'} +GET: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +PATCH: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +POST: /v1/clustertemplates {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'clustermodel1', 'image_id': 'ubuntu', 'flavor_id': 'm1.small', 'master_flavor_id': 'm1.small', 'keypair_id': 'keypair1', 'external_network_id': 'd1f02cfb-d27f-4068-9332-84d907cb0e2e', 'fixed_network': 'private', 'fixed_subnet': 'private-subnet', 'network_driver': None, 'volume_driver': None, 'dns_nameserver': '8.8.1.1', 'apiserver_port': 8080, 'docker_volume_size': 20, 'docker_storage_driver': 'devicemapper', 'cluster_distro': 'fedora-coreos', 'coe': 'kubernetes', 'labels': {'key1': 'val1', 'key2': 'val2'}, 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'registry_enabled': False, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'hidden': False, 'tags': '', 'driver': ''} +DELETE: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 +GET: /v1/clustertemplates {} +GET: /v1/clustertemplates/detail {} +GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/dns_nameserver', 'op': 'remove'}] +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} +GOT:Response: 201 Created +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-09-14T10:49:31.362469+00:00", "updated_at": null} +DELETE: /v1/quotas/fake_project/Cluster +GET: /v1/quotas {} +GET: /v1/quotas/fake_project/Cluster {} +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 5} +GOT:Response: 201 Created +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.12 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"id": 42, "hard_limit": 5, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-09-14T10:49:31.410586+00:00", "updated_at": null} +PATCH: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 20} GET: /v1/stats {} GOT:{'clusters': 0, 'nodes': 0} GET: /v1/stats {} @@ -9410,22 +9457,22 @@ GOT:{'clusters': 0, 'nodes': 0} ---------------------------------------------------------------------- -Ran 1178 tests in 108.232s +Ran 1178 tests in 28.982s OK + stestr slowest -Test id Runtime (s) ------------------------------------------------------------------------------------------------------------ ----------- -magnum.tests.unit.api.controllers.test_root.TestHeathcheck.test_healthcheck_disable_file 3.009 -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_has_publickey 2.083 -magnum.tests.unit.api.controllers.test_base.TestController.test_api_version_decorator 2.014 -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_extentions_as_client 1.723 -magnum.tests.unit.api.controllers.v1.test_certificate.TestCertPolicyEnforcement.test_policy_disallow_create 1.443 -magnum.tests.unit.api.controllers.test_base.TestVersion.test__eq__with_equal 1.386 -magnum.tests.unit.common.x509.test_sign.TestX509.test_load_pem_private_key_with_bytes_private_key 1.268 -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_subject_name 1.265 -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_issuer_name 1.134 -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_extentions_as_ca 1.084 +Test id Runtime (s) +---------------------------------------------------------------------------------------------------------- ----------- +magnum.tests.unit.common.x509.test_sign.TestX509.test_load_pem_private_key_with_bytes_private_key 1.525 +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_has_publickey 1.094 +magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_timeout 1.011 +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_subject_name 0.962 +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_extentions_as_client 0.881 +magnum.tests.unit.common.x509.test_sign.TestX509.test_sign_empty_chars 0.738 +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_extentions_as_ca 0.731 +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_with_bytes_issuer_name 0.694 +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_issuer_name 0.675 +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_issuer_name 0.668 + rm -rf .stestr dh_install --fail-missing dh_install: warning: Please use dh_missing --list-missing/--fail-missing instead @@ -9444,9 +9491,9 @@ --namespace oslo.service.service \ --namespace keystonemiddleware.auth_token pkgos-readd-keystone-authtoken-missing-options /build/reproducible-path/magnum-21.0.0~rc1/debian/magnum-common/usr/share/magnum-common/magnum.conf keystone_authtoken magnum -pkgos_inifile: Setting value in pkgos-readd-keystone-authtoken-missing-options.3kZ8Ht:[keystone_authtoken]/www_authenticate_uri -pkgos_inifile: Setting value in pkgos-readd-keystone-authtoken-missing-options.3kZ8Ht:[keystone_authtoken]/auth_type -pkgos_inifile: Setting value in pkgos-readd-keystone-authtoken-missing-options.3kZ8Ht:[keystone_authtoken]/region_name +pkgos_inifile: Setting value in pkgos-readd-keystone-authtoken-missing-options.8O70ko:[keystone_authtoken]/www_authenticate_uri +pkgos_inifile: Setting value in pkgos-readd-keystone-authtoken-missing-options.8O70ko:[keystone_authtoken]/auth_type +pkgos_inifile: Setting value in pkgos-readd-keystone-authtoken-missing-options.8O70ko:[keystone_authtoken]/region_name pkgos-fix-config-default /build/reproducible-path/magnum-21.0.0~rc1/debian/magnum-common/usr/share/magnum-common/magnum.conf oslo_concurrency lock_path /var/lock/magnum pkgos_inifile: Setting value in /build/reproducible-path/magnum-21.0.0~rc1/debian/magnum-common/usr/share/magnum-common/magnum.conf:[oslo_concurrency]/lock_path pkgos-fix-config-default /build/reproducible-path/magnum-21.0.0~rc1/debian/magnum-common/usr/share/magnum-common/magnum.conf keystone_authtoken auth_protocol http @@ -9542,15 +9589,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` +++ sed s/.init.in// +++ echo debian/magnum-conductor.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 @@ -9560,7 +9609,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 \ @@ -9569,16 +9618,18 @@ pkgos-gen-systemd-unit $i ; \ fi \ done -+ ls debian/magnum-api.init.in debian/magnum-conductor.init.in -+ + sed s/.init.in/.service.in/ -echo debian/magnum-api.init.in +++ ls debian/magnum-api.init.in debian/magnum-conductor.init.in ++ for i in `ls debian/*.init.in` +++ sed s/.init.in/.service.in/ +++ echo debian/magnum-api.init.in + MYINIT=debian/magnum-api.service.in -+ [ -e debian/magnum-api.service.in ] ++ '[' -e debian/magnum-api.service.in ']' + pkgos-gen-systemd-unit debian/magnum-api.init.in -+ echo debian/magnum-conductor.init.in -+ sed s/.init.in/.service.in/ ++ for i in `ls debian/*.init.in` +++ echo debian/magnum-conductor.init.in +++ sed s/.init.in/.service.in/ + MYINIT=debian/magnum-conductor.service.in -+ [ -e debian/magnum-conductor.service.in ] ++ '[' -e debian/magnum-conductor.service.in ']' + pkgos-gen-systemd-unit debian/magnum-conductor.init.in dh_installinit --error-handler=true make[1]: Leaving directory '/build/reproducible-path/magnum-21.0.0~rc1' @@ -9601,16 +9652,16 @@ else \ dh_gencontrol -- -T/build/reproducible-path/magnum-21.0.0~rc1/debian/debian_control_vars ; \ fi -dpkg-gencontrol: warning: Depends field of package magnum-conductor: substitution variable ${python3:Depends} used, but is not defined dpkg-gencontrol: warning: Depends field of package magnum-api: substitution variable ${python3:Depends} used, but is not defined +dpkg-gencontrol: warning: Depends field of package magnum-conductor: substitution variable ${python3:Depends} used, but is not defined dpkg-gencontrol: warning: Depends field of package magnum-common: substitution variable ${python3:Depends} used, but is not defined make[1]: Leaving directory '/build/reproducible-path/magnum-21.0.0~rc1' dh_md5sums -O--buildsystem=pybuild dh_builddeb -O--buildsystem=pybuild +dpkg-deb: building package 'magnum-api' in '../magnum-api_21.0.0~rc1-1_all.deb'. dpkg-deb: building package 'magnum-conductor' in '../magnum-conductor_21.0.0~rc1-1_all.deb'. -dpkg-deb: building package 'magnum-common' in '../magnum-common_21.0.0~rc1-1_all.deb'. dpkg-deb: building package 'python3-magnum' in '../python3-magnum_21.0.0~rc1-1_all.deb'. -dpkg-deb: building package 'magnum-api' in '../magnum-api_21.0.0~rc1-1_all.deb'. +dpkg-deb: building package 'magnum-common' in '../magnum-common_21.0.0~rc1-1_all.deb'. dpkg-genbuildinfo --build=binary -O../magnum_21.0.0~rc1-1_arm64.buildinfo dpkg-genchanges --build=binary -O../magnum_21.0.0~rc1-1_arm64.changes dpkg-genchanges: info: binary-only upload (no source code included) @@ -9619,12 +9670,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/2498244/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/2498244/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/1010947 and its subdirectories -I: Current time: Sat Oct 17 05:10:09 -12 2026 -I: pbuilder-time-stamp: 1792257009 +I: removing directory /srv/workspace/pbuilder/2498244 and its subdirectories +I: Current time: Mon Sep 15 00:50:07 +14 2025 +I: pbuilder-time-stamp: 1757847007