2026-04-02 12:39:49.999879 | Job console starting 2026-04-02 12:39:50.237230 | Updating git repos 2026-04-02 12:39:50.277712 | Cloning repos into workspace 2026-04-02 12:39:51.586130 | Restoring repo states 2026-04-02 12:39:51.597998 | Merging changes 2026-04-02 12:39:52.602739 | Checking out repos 2026-04-02 12:39:53.133219 | Preparing playbooks 2026-04-02 12:40:12.710994 | Running Ansible setup 2026-04-02 12:40:18.020507 | PRE-RUN START: [trusted : github.com/vexxhost/zuul-config/playbooks/base/pre.yaml@main] 2026-04-02 12:40:18.785615 | 2026-04-02 12:40:18.785767 | PLAY [localhost] 2026-04-02 12:40:18.794560 | 2026-04-02 12:40:18.794679 | TASK [Gathering Facts] 2026-04-02 12:40:20.000711 | localhost | ok 2026-04-02 12:40:20.014961 | 2026-04-02 12:40:20.015081 | TASK [Setup log path fact] 2026-04-02 12:40:20.053357 | localhost | ok 2026-04-02 12:40:20.184210 | 2026-04-02 12:40:20.184360 | TASK [set-zuul-log-path-fact : Set log path for a build] 2026-04-02 12:40:20.231052 | localhost | ok 2026-04-02 12:40:20.264177 | 2026-04-02 12:40:20.264327 | TASK [emit-job-header : Print job information] 2026-04-02 12:40:20.324640 | # Job Information 2026-04-02 12:40:20.354441 | Ansible Version: 2.16.16 2026-04-02 12:40:20.355260 | Job: magnum-cluster-api-tox-unit 2026-04-02 12:40:20.355315 | Pipeline: check 2026-04-02 12:40:20.355348 | Executor: 0a8996d2b663 2026-04-02 12:40:20.355377 | Triggered by: https://github.com/vexxhost/magnum-cluster-api/pull/925 2026-04-02 12:40:20.355409 | Event ID: c9b947c0-2e8f-11f1-82ec-37f8bf101688 2026-04-02 12:40:20.360847 | 2026-04-02 12:40:20.360938 | LOOP [emit-job-header : Print node information] 2026-04-02 12:40:20.459227 | localhost | ok: 2026-04-02 12:40:20.515945 | localhost | # Node Information 2026-04-02 12:40:20.516061 | localhost | Inventory Hostname: ubuntu-noble 2026-04-02 12:40:20.516089 | localhost | Hostname: np0000162956 2026-04-02 12:40:20.516111 | localhost | Username: zuul 2026-04-02 12:40:20.516142 | localhost | Distro: Ubuntu 24.04 2026-04-02 12:40:20.516165 | localhost | Provider: yul1 2026-04-02 12:40:20.516190 | localhost | Region: ca-ymq-1 2026-04-02 12:40:20.516219 | localhost | Label: ubuntu-noble 2026-04-02 12:40:20.516244 | localhost | Product Name: OpenStack Nova 2026-04-02 12:40:20.516264 | localhost | Interface IP: 199.19.213.18 2026-04-02 12:40:20.532568 | 2026-04-02 12:40:20.532684 | TASK [log-inventory : Ensure Zuul Ansible directory exists] 2026-04-02 12:40:21.192982 | localhost -> localhost | changed 2026-04-02 12:40:21.204580 | 2026-04-02 12:40:21.371982 | TASK [log-inventory : Copy ansible inventory to logs dir] 2026-04-02 12:40:22.677566 | localhost -> localhost | changed 2026-04-02 12:40:22.687215 | 2026-04-02 12:40:22.687293 | PLAY [all] 2026-04-02 12:40:22.698941 | 2026-04-02 12:40:22.699058 | TASK [add-build-sshkey : Check to see if ssh key was already created for this build] 2026-04-02 12:40:23.057645 | ubuntu-noble -> localhost | ok 2026-04-02 12:40:23.069461 | 2026-04-02 12:40:23.069571 | TASK [add-build-sshkey : Create a new key in workspace based on build UUID] 2026-04-02 12:40:23.105390 | ubuntu-noble | ok 2026-04-02 12:40:23.121602 | ubuntu-noble | included: /var/lib/zuul/builds/8a349a3001764ce5a138bf3680253ebe/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey/tasks/create-key-and-replace.yaml 2026-04-02 12:40:23.129505 | 2026-04-02 12:40:23.129576 | TASK [add-build-sshkey : Create Temp SSH key] 2026-04-02 12:40:24.694994 | ubuntu-noble -> localhost | Generating public/private rsa key pair. 2026-04-02 12:40:24.695157 | ubuntu-noble -> localhost | Your identification has been saved in /var/lib/zuul/builds/8a349a3001764ce5a138bf3680253ebe/work/8a349a3001764ce5a138bf3680253ebe_id_rsa 2026-04-02 12:40:24.695190 | ubuntu-noble -> localhost | Your public key has been saved in /var/lib/zuul/builds/8a349a3001764ce5a138bf3680253ebe/work/8a349a3001764ce5a138bf3680253ebe_id_rsa.pub 2026-04-02 12:40:24.695220 | ubuntu-noble -> localhost | The key fingerprint is: 2026-04-02 12:40:24.695250 | ubuntu-noble -> localhost | SHA256:7dCX8SJe9bATwf6KR3HFBs7hqEwC+Qetk4mzIa/2YSs zuul-build-sshkey 2026-04-02 12:40:24.695281 | ubuntu-noble -> localhost | The key's randomart image is: 2026-04-02 12:40:24.695303 | ubuntu-noble -> localhost | +---[RSA 3072]----+ 2026-04-02 12:40:24.695332 | ubuntu-noble -> localhost | | .. . .+o | 2026-04-02 12:40:24.695355 | ubuntu-noble -> localhost | | ... . =.o+| 2026-04-02 12:40:24.695375 | ubuntu-noble -> localhost | | o.=. o.B..| 2026-04-02 12:40:24.695395 | ubuntu-noble -> localhost | | . + **.. =o=.| 2026-04-02 12:40:24.695414 | ubuntu-noble -> localhost | | o +So* = ++.| 2026-04-02 12:40:24.695434 | ubuntu-noble -> localhost | | o + + ....| 2026-04-02 12:40:24.695454 | ubuntu-noble -> localhost | | .o o o . | 2026-04-02 12:40:24.695473 | ubuntu-noble -> localhost | | E. o . o | 2026-04-02 12:40:24.695496 | ubuntu-noble -> localhost | | . oo . | 2026-04-02 12:40:24.695516 | ubuntu-noble -> localhost | +----[SHA256]-----+ 2026-04-02 12:40:24.695564 | ubuntu-noble -> localhost | ok: Runtime: 0:00:01.136612 2026-04-02 12:40:24.702127 | 2026-04-02 12:40:24.702192 | TASK [add-build-sshkey : Remote setup ssh keys (linux)] 2026-04-02 12:40:24.736130 | ubuntu-noble | ok 2026-04-02 12:40:24.748293 | ubuntu-noble | included: /var/lib/zuul/builds/8a349a3001764ce5a138bf3680253ebe/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey/tasks/remote-linux.yaml 2026-04-02 12:40:24.758756 | 2026-04-02 12:40:24.758829 | TASK [add-build-sshkey : Remove previously added zuul-build-sshkey] 2026-04-02 12:40:24.772385 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 12:40:24.780718 | 2026-04-02 12:40:24.780828 | TASK [add-build-sshkey : Enable access via build key on all nodes] 2026-04-02 12:40:25.396931 | ubuntu-noble | changed 2026-04-02 12:40:25.453758 | 2026-04-02 12:40:25.453862 | TASK [add-build-sshkey : Make sure user has a .ssh] 2026-04-02 12:40:25.680191 | ubuntu-noble | ok 2026-04-02 12:40:25.708271 | 2026-04-02 12:40:25.708378 | TASK [add-build-sshkey : Install build private key as SSH key on all nodes] 2026-04-02 12:40:26.272275 | ubuntu-noble | changed 2026-04-02 12:40:26.280603 | 2026-04-02 12:40:26.337433 | TASK [add-build-sshkey : Install build public key as SSH key on all nodes] 2026-04-02 12:40:26.914958 | ubuntu-noble | changed 2026-04-02 12:40:26.929819 | 2026-04-02 12:40:26.929929 | TASK [add-build-sshkey : Remote setup ssh keys (windows)] 2026-04-02 12:40:26.954108 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 12:40:26.964819 | 2026-04-02 12:40:26.965230 | TASK [remove-zuul-sshkey : Remove master key from local agent] 2026-04-02 12:40:27.364846 | ubuntu-noble -> localhost | changed 2026-04-02 12:40:27.382030 | 2026-04-02 12:40:27.382110 | TASK [add-build-sshkey : Add back temp key] 2026-04-02 12:40:27.800866 | ubuntu-noble -> localhost | Identity added: /var/lib/zuul/builds/8a349a3001764ce5a138bf3680253ebe/work/8a349a3001764ce5a138bf3680253ebe_id_rsa (zuul-build-sshkey) 2026-04-02 12:40:27.801115 | ubuntu-noble -> localhost | ok: Runtime: 0:00:00.012576 2026-04-02 12:40:27.809086 | 2026-04-02 12:40:27.809214 | TASK [add-build-sshkey : Verify we can still SSH to all nodes] 2026-04-02 12:40:28.147750 | ubuntu-noble | ok 2026-04-02 12:40:28.155790 | 2026-04-02 12:40:28.155898 | TASK [add-build-sshkey : Verify we can still SSH to all nodes (windows)] 2026-04-02 12:40:28.181373 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 12:40:28.196735 | 2026-04-02 12:40:28.196837 | TASK [prepare-workspace : Start zuul_console daemon.] 2026-04-02 12:40:28.577013 | ubuntu-noble | ok 2026-04-02 12:40:28.613300 | 2026-04-02 12:40:28.613458 | TASK [prepare-workspace : Synchronize src repos to workspace directory.] 2026-04-02 12:40:29.688484 | ubuntu-noble | Output suppressed because no_log was given 2026-04-02 12:40:29.837256 | 2026-04-02 12:40:30.331392 | LOOP [ensure-output-dirs : Empty Zuul Output directories by removing them] 2026-04-02 12:40:30.554524 | ubuntu-noble | ok: "logs" 2026-04-02 12:40:30.554813 | ubuntu-noble | ok: All items complete 2026-04-02 12:40:30.554868 | 2026-04-02 12:40:30.737880 | ubuntu-noble | ok: "artifacts" 2026-04-02 12:40:30.929849 | ubuntu-noble | ok: "docs" 2026-04-02 12:40:30.948767 | 2026-04-02 12:40:30.948913 | LOOP [ensure-output-dirs : Ensure Zuul Output directories exist] 2026-04-02 12:40:31.176436 | ubuntu-noble | changed: "logs" 2026-04-02 12:40:31.410551 | ubuntu-noble | changed: "artifacts" 2026-04-02 12:40:31.632257 | ubuntu-noble | changed: "docs" 2026-04-02 12:40:31.644442 | 2026-04-02 12:40:31.644548 | PLAY RECAP 2026-04-02 12:40:31.644610 | localhost | ok: 6 changed: 2 unreachable: 0 failed: 0 skipped: 0 rescued: 0 ignored: 0 2026-04-02 12:40:31.644655 | ubuntu-noble | ok: 15 changed: 8 unreachable: 0 failed: 0 skipped: 3 rescued: 0 ignored: 0 2026-04-02 12:40:31.644683 | 2026-04-02 12:40:31.757801 | PRE-RUN END RESULT_NORMAL: [trusted : github.com/vexxhost/zuul-config/playbooks/base/pre.yaml@main] 2026-04-02 12:40:31.759515 | PRE-RUN START: [untrusted : opendev.org/zuul/zuul-jobs/playbooks/unittests/pre.yaml@master] 2026-04-02 12:40:32.620387 | 2026-04-02 12:40:32.703827 | PLAY [all] 2026-04-02 12:40:32.723549 | 2026-04-02 12:40:32.723769 | TASK [Install binary dependencies] 2026-04-02 12:40:32.793512 | ubuntu-noble | ok 2026-04-02 12:40:32.823019 | 2026-04-02 12:40:32.823213 | TASK [bindep : Include find tasks] 2026-04-02 12:40:32.867287 | ubuntu-noble | ok 2026-04-02 12:40:32.879453 | ubuntu-noble | included: /var/lib/zuul/builds/8a349a3001764ce5a138bf3680253ebe/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/bindep/tasks/find.yaml 2026-04-02 12:40:33.063822 | 2026-04-02 12:40:33.063945 | TASK [bindep : Look for bindep.txt] 2026-04-02 12:40:33.457716 | ubuntu-noble | ok 2026-04-02 12:40:33.467900 | 2026-04-02 12:40:33.468019 | TASK [bindep : Define bindep_file fact] 2026-04-02 12:40:33.493294 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 12:40:33.621589 | 2026-04-02 12:40:33.621706 | TASK [bindep : Look for other-requirements.txt] 2026-04-02 12:40:33.832370 | ubuntu-noble | ok 2026-04-02 12:40:33.843636 | 2026-04-02 12:40:33.843744 | TASK [bindep : Define bindep_file fact] 2026-04-02 12:40:33.878281 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 12:40:33.885200 | 2026-04-02 12:40:33.885294 | TASK [bindep : Look for bindep fallback file] 2026-04-02 12:40:33.919219 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 12:40:33.925728 | 2026-04-02 12:40:33.925809 | TASK [bindep : Define bindep_file fact] 2026-04-02 12:40:33.950363 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 12:40:33.957234 | 2026-04-02 12:40:33.957327 | TASK [bindep : Include bindep tasks] 2026-04-02 12:40:33.991497 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 12:40:34.001304 | 2026-04-02 12:40:34.001400 | TASK [bindep : Include install tasks] 2026-04-02 12:40:34.026565 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 12:40:34.126667 | 2026-04-02 12:40:34.126828 | LOOP [bindep : Include package tasks] 2026-04-02 12:40:34.194951 | 2026-04-02 12:40:34.241438 | TASK [Run test-setup role] 2026-04-02 12:40:34.277690 | ubuntu-noble | ok 2026-04-02 12:40:34.309537 | 2026-04-02 12:40:34.309653 | TASK [test-setup : Check if project's tools/test-setup.sh exists] 2026-04-02 12:40:34.525513 | ubuntu-noble | ok 2026-04-02 12:40:34.534608 | 2026-04-02 12:40:34.534735 | TASK [test-setup : Run tools/test-setup.sh] 2026-04-02 12:40:35.078608 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 12:40:35.330962 | 2026-04-02 12:40:35.331060 | PLAY RECAP 2026-04-02 12:40:35.331168 | ubuntu-noble | ok: 4 changed: 0 unreachable: 0 failed: 0 skipped: 8 rescued: 0 ignored: 0 2026-04-02 12:40:35.331206 | 2026-04-02 12:40:35.440196 | PRE-RUN END RESULT_NORMAL: [untrusted : opendev.org/zuul/zuul-jobs/playbooks/unittests/pre.yaml@master] 2026-04-02 12:40:35.441645 | PRE-RUN START: [untrusted : opendev.org/zuul/zuul-jobs/playbooks/tox/pre.yaml@master] 2026-04-02 12:40:36.024360 | 2026-04-02 12:40:36.065704 | PLAY [all] 2026-04-02 12:40:36.091612 | 2026-04-02 12:40:36.092115 | TASK [ensure-python : Validate python_version value] 2026-04-02 12:40:36.117347 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 12:40:36.136696 | 2026-04-02 12:40:36.136846 | TASK [ensure-python : Install specified version of python interpreter and development files (DEB)] 2026-04-02 12:40:36.171415 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 12:40:36.181835 | 2026-04-02 12:40:36.190611 | TASK [ensure-python : Pull in venv package] 2026-04-02 12:40:36.226712 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 12:40:36.235901 | 2026-04-02 12:40:36.236050 | TASK [ensure-python : Set default RPM package name] 2026-04-02 12:40:36.261298 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 12:40:36.271753 | 2026-04-02 12:40:36.271869 | TASK [ensure-python : Set RPM package name for CentOS/RHEL 9/10] 2026-04-02 12:40:36.306890 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 12:40:36.319032 | 2026-04-02 12:40:36.319140 | TASK [ensure-python : Install RPM package] 2026-04-02 12:40:36.343675 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 12:40:36.356222 | 2026-04-02 12:40:36.432438 | TASK [ensure-python : Install python using pyenv] 2026-04-02 12:40:36.461258 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 12:40:36.475981 | 2026-04-02 12:40:36.476211 | TASK [ensure-python : Activate python using stow] 2026-04-02 12:40:36.517351 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 12:40:36.536361 | 2026-04-02 12:40:36.536437 | TASK [Install pip] 2026-04-02 12:40:36.560304 | ubuntu-noble | ok 2026-04-02 12:40:36.586594 | 2026-04-02 12:40:36.586687 | TASK [ensure-pip : Check if pip is installed] 2026-04-02 12:40:37.117445 | ubuntu-noble | ok: Runtime: 0:00:00.042240 2026-04-02 12:40:37.123100 | 2026-04-02 12:40:37.123164 | LOOP [ensure-pip : Install pip from packages] 2026-04-02 12:40:37.172313 | ubuntu-noble | ok: "/var/lib/zuul/builds/8a349a3001764ce5a138bf3680253ebe/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-pip/tasks/Debian.yaml" 2026-04-02 12:40:37.194929 | ubuntu-noble | included: /var/lib/zuul/builds/8a349a3001764ce5a138bf3680253ebe/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-pip/tasks/Debian.yaml 2026-04-02 12:40:37.202617 | 2026-04-02 12:40:37.202676 | TASK [ensure-pip : Update package lists] 2026-04-02 12:40:47.488647 | ubuntu-noble | changed 2026-04-02 12:40:47.499400 | 2026-04-02 12:40:47.499488 | TASK [ensure-pip : Install Python 3 pip] 2026-04-02 12:41:23.689308 | ubuntu-noble | changed 2026-04-02 12:41:23.747327 | 2026-04-02 12:41:23.747458 | TASK [ensure-pip : Install Python 2 pip] 2026-04-02 12:41:23.771734 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 12:41:23.777987 | 2026-04-02 12:41:23.778064 | TASK [ensure-pip : Ensure setuptools] 2026-04-02 12:41:23.796253 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 12:41:23.805565 | 2026-04-02 12:41:23.805657 | TASK [ensure-pip : Check for ensurepip module] 2026-04-02 12:41:24.120723 | ubuntu-noble | usage: python -m ensurepip [-h] [--version] [-v] [-U] [--user] [--root ROOT] 2026-04-02 12:41:24.120816 | ubuntu-noble | [--altinstall] [--default-pip] 2026-04-02 12:41:24.120825 | ubuntu-noble | 2026-04-02 12:41:24.120832 | ubuntu-noble | options: 2026-04-02 12:41:24.120838 | ubuntu-noble | -h, --help show this help message and exit 2026-04-02 12:41:24.120866 | ubuntu-noble | --version Show the version of pip that is bundled with this Python. 2026-04-02 12:41:24.120878 | ubuntu-noble | -v, --verbose Give more output. Option is additive, and can be used up to 3 2026-04-02 12:41:24.120887 | ubuntu-noble | times. 2026-04-02 12:41:24.120893 | ubuntu-noble | -U, --upgrade Upgrade pip and dependencies, even if already installed. 2026-04-02 12:41:24.120898 | ubuntu-noble | --user Install using the user scheme. 2026-04-02 12:41:24.120906 | ubuntu-noble | --root ROOT Install everything relative to this alternate root directory. 2026-04-02 12:41:24.120911 | ubuntu-noble | --altinstall Make an alternate install, installing only the X.Y versioned 2026-04-02 12:41:24.120917 | ubuntu-noble | scripts (Default: pipX, pipX.Y). 2026-04-02 12:41:24.120922 | ubuntu-noble | --default-pip Make a default pip install, installing the unqualified pip in 2026-04-02 12:41:24.120928 | ubuntu-noble | addition to the versioned scripts. 2026-04-02 12:41:24.367253 | ubuntu-noble | ok: Runtime: 0:00:00.070480 2026-04-02 12:41:24.421983 | 2026-04-02 12:41:24.422240 | TASK [ensure-pip : Ensure python3-venv] 2026-04-02 12:41:24.454043 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 12:41:24.476806 | 2026-04-02 12:41:24.476947 | TASK [ensure-pip : Install pip from source] 2026-04-02 12:41:24.502332 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 12:41:24.511377 | 2026-04-02 12:41:24.511506 | TASK [ensure-pip : Probe for venv python full path] 2026-04-02 12:41:24.759305 | ubuntu-noble | /usr/bin/python3 2026-04-02 12:41:25.069551 | ubuntu-noble | ok: Runtime: 0:00:00.007093 2026-04-02 12:41:25.076622 | 2026-04-02 12:41:25.076728 | TASK [ensure-pip : Set host default] 2026-04-02 12:41:25.137569 | ubuntu-noble | ok 2026-04-02 12:41:25.145552 | 2026-04-02 12:41:25.145677 | TASK [ensure-pip : Set ensure_pip_virtualenv_command] 2026-04-02 12:41:25.339980 | ubuntu-noble | ok 2026-04-02 12:41:25.356094 | 2026-04-02 12:41:25.356217 | TASK [ensure-tox : Check if tox is installed] 2026-04-02 12:41:25.899721 | ubuntu-noble | ok: Runtime: 0:00:00.007563 2026-04-02 12:41:25.908209 | 2026-04-02 12:41:25.908285 | TASK [ensure-tox : Export preinstalled tox_exectuable] 2026-04-02 12:41:25.932216 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 12:41:25.942960 | 2026-04-02 12:41:25.946548 | TASK [ensure-tox : Create local venv] 2026-04-02 12:41:29.504725 | ubuntu-noble | ok: Runtime: 0:00:03.175848 2026-04-02 12:41:29.512142 | 2026-04-02 12:41:29.512228 | TASK [ensure-tox : Install tox to local venv] 2026-04-02 12:41:30.300730 | ubuntu-noble | Collecting tox 2026-04-02 12:41:30.345233 | ubuntu-noble | Downloading tox-4.52.0-py3-none-any.whl.metadata (3.6 kB) 2026-04-02 12:41:30.418601 | ubuntu-noble | Collecting cachetools>=7.0.3 (from tox) 2026-04-02 12:41:30.422519 | ubuntu-noble | Downloading cachetools-7.0.5-py3-none-any.whl.metadata (5.6 kB) 2026-04-02 12:41:30.474538 | ubuntu-noble | Collecting colorama>=0.4.6 (from tox) 2026-04-02 12:41:30.477563 | ubuntu-noble | Downloading colorama-0.4.6-py2.py3-none-any.whl.metadata (17 kB) 2026-04-02 12:41:30.550282 | ubuntu-noble | Collecting filelock>=3.25 (from tox) 2026-04-02 12:41:30.553299 | ubuntu-noble | Downloading filelock-3.25.2-py3-none-any.whl.metadata (2.0 kB) 2026-04-02 12:41:30.616132 | ubuntu-noble | Collecting packaging>=26 (from tox) 2026-04-02 12:41:30.619273 | ubuntu-noble | Downloading packaging-26.0-py3-none-any.whl.metadata (3.3 kB) 2026-04-02 12:41:30.680197 | ubuntu-noble | Collecting platformdirs>=4.9.4 (from tox) 2026-04-02 12:41:30.683534 | ubuntu-noble | Downloading platformdirs-4.9.4-py3-none-any.whl.metadata (4.7 kB) 2026-04-02 12:41:30.738112 | ubuntu-noble | Collecting pluggy>=1.6 (from tox) 2026-04-02 12:41:30.741202 | ubuntu-noble | Downloading pluggy-1.6.0-py3-none-any.whl.metadata (4.8 kB) 2026-04-02 12:41:30.794968 | ubuntu-noble | Collecting pyproject-api>=1.10 (from tox) 2026-04-02 12:41:30.798290 | ubuntu-noble | Downloading pyproject_api-1.10.0-py3-none-any.whl.metadata (2.7 kB) 2026-04-02 12:41:30.850141 | ubuntu-noble | Collecting python-discovery>=1.2.1 (from tox) 2026-04-02 12:41:30.852952 | ubuntu-noble | Downloading python_discovery-1.2.1-py3-none-any.whl.metadata (5.4 kB) 2026-04-02 12:41:30.926576 | ubuntu-noble | Collecting tomli-w>=1.2 (from tox) 2026-04-02 12:41:30.931066 | ubuntu-noble | Downloading tomli_w-1.2.0-py3-none-any.whl.metadata (5.7 kB) 2026-04-02 12:41:31.065545 | ubuntu-noble | Collecting virtualenv>=21.1 (from tox) 2026-04-02 12:41:31.262631 | ubuntu-noble | Downloading virtualenv-21.2.0-py3-none-any.whl.metadata (3.5 kB) 2026-04-02 12:41:31.363231 | ubuntu-noble | Collecting distlib<1,>=0.3.7 (from virtualenv>=21.1->tox) 2026-04-02 12:41:31.366322 | ubuntu-noble | Downloading distlib-0.4.0-py2.py3-none-any.whl.metadata (5.2 kB) 2026-04-02 12:41:31.403883 | ubuntu-noble | Downloading tox-4.52.0-py3-none-any.whl (211 kB) 2026-04-02 12:41:31.425347 | ubuntu-noble | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 211.8/211.8 kB 12.0 MB/s eta 0:00:00 2026-04-02 12:41:31.430594 | ubuntu-noble | Downloading cachetools-7.0.5-py3-none-any.whl (13 kB) 2026-04-02 12:41:31.446524 | ubuntu-noble | Downloading colorama-0.4.6-py2.py3-none-any.whl (25 kB) 2026-04-02 12:41:31.463958 | ubuntu-noble | Downloading filelock-3.25.2-py3-none-any.whl (26 kB) 2026-04-02 12:41:31.482324 | ubuntu-noble | Downloading packaging-26.0-py3-none-any.whl (74 kB) 2026-04-02 12:41:31.498288 | ubuntu-noble | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 74.4/74.4 kB 5.8 MB/s eta 0:00:00 2026-04-02 12:41:31.502298 | ubuntu-noble | Downloading platformdirs-4.9.4-py3-none-any.whl (21 kB) 2026-04-02 12:41:31.516042 | ubuntu-noble | Downloading pluggy-1.6.0-py3-none-any.whl (20 kB) 2026-04-02 12:41:31.533285 | ubuntu-noble | Downloading pyproject_api-1.10.0-py3-none-any.whl (13 kB) 2026-04-02 12:41:31.547767 | ubuntu-noble | Downloading python_discovery-1.2.1-py3-none-any.whl (31 kB) 2026-04-02 12:41:31.564384 | ubuntu-noble | Downloading tomli_w-1.2.0-py3-none-any.whl (6.7 kB) 2026-04-02 12:41:31.579497 | ubuntu-noble | Downloading virtualenv-21.2.0-py3-none-any.whl (5.8 MB) 2026-04-02 12:41:31.679721 | ubuntu-noble | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.8/5.8 MB 60.6 MB/s eta 0:00:00 2026-04-02 12:41:31.684063 | ubuntu-noble | Downloading distlib-0.4.0-py2.py3-none-any.whl (469 kB) 2026-04-02 12:41:31.701992 | ubuntu-noble | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 469.0/469.0 kB 30.5 MB/s eta 0:00:00 2026-04-02 12:41:31.758920 | ubuntu-noble | Installing collected packages: distlib, tomli-w, pluggy, platformdirs, packaging, filelock, colorama, cachetools, python-discovery, pyproject-api, virtualenv, tox 2026-04-02 12:41:32.476335 | ubuntu-noble | Successfully installed cachetools-7.0.5 colorama-0.4.6 distlib-0.4.0 filelock-3.25.2 packaging-26.0 platformdirs-4.9.4 pluggy-1.6.0 pyproject-api-1.10.0 python-discovery-1.2.1 tomli-w-1.2.0 tox-4.52.0 virtualenv-21.2.0 2026-04-02 12:41:33.059636 | ubuntu-noble | ok: Runtime: 0:00:02.822854 2026-04-02 12:41:33.068049 | 2026-04-02 12:41:33.068118 | TASK [ensure-tox : Export installed tox_executable path] 2026-04-02 12:41:33.119091 | ubuntu-noble | ok 2026-04-02 12:41:33.132398 | 2026-04-02 12:41:33.132538 | TASK [ensure-tox : Output tox version] 2026-04-02 12:41:33.615697 | ubuntu-noble | ROOT: No loadable tox.ini or setup.cfg or pyproject.toml or tox.toml found, assuming empty tox.ini at /home/zuul 2026-04-02 12:41:33.631211 | ubuntu-noble | 4.52.0 from /home/zuul/.local/tox/lib/python3.12/site-packages/tox/__init__.py 2026-04-02 12:41:34.180204 | ubuntu-noble | ok: Runtime: 0:00:00.297260 2026-04-02 12:41:34.188728 | 2026-04-02 12:41:34.188846 | TASK [ensure-tox : Make global symlink] 2026-04-02 12:41:34.223375 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 12:41:34.231378 | 2026-04-02 12:41:34.231447 | PLAY RECAP 2026-04-02 12:41:34.231492 | ubuntu-noble | ok: 13 changed: 9 unreachable: 0 failed: 0 skipped: 14 rescued: 0 ignored: 0 2026-04-02 12:41:34.231514 | 2026-04-02 12:41:34.453222 | PRE-RUN END RESULT_NORMAL: [untrusted : opendev.org/zuul/zuul-jobs/playbooks/tox/pre.yaml@master] 2026-04-02 12:41:34.454513 | PRE-RUN START: [untrusted : github.com/vexxhost/magnum-cluster-api/zuul.d/playbooks/tox/pre.yml@main] 2026-04-02 12:41:35.181550 | 2026-04-02 12:41:35.181675 | PLAY [all] 2026-04-02 12:41:35.210949 | 2026-04-02 12:41:35.211114 | TASK [ensure-rust : Use rustup] 2026-04-02 12:41:35.256736 | ubuntu-noble | ok 2026-04-02 12:41:35.265081 | ubuntu-noble | included: /var/lib/zuul/builds/8a349a3001764ce5a138bf3680253ebe/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-rust/tasks/rustup.yaml 2026-04-02 12:41:35.369185 | 2026-04-02 12:41:35.369317 | TASK [ensure-rust : Install Rust] 2026-04-02 12:41:35.913144 | ubuntu-noble | info: downloading installer 2026-04-02 12:41:36.202766 | ubuntu-noble | warn: It looks like you have an existing rustup settings file at: 2026-04-02 12:41:36.202831 | ubuntu-noble | warn: /opt/rust/settings.toml 2026-04-02 12:41:36.202844 | ubuntu-noble | warn: Rustup will install the default toolchain as specified in the settings file, 2026-04-02 12:41:36.202886 | ubuntu-noble | warn: instead of the one inferred from the default host triple. 2026-04-02 12:41:36.237273 | ubuntu-noble | info: profile set to default 2026-04-02 12:41:36.237331 | ubuntu-noble | info: default host triple is x86_64-unknown-linux-gnu 2026-04-02 12:41:36.239537 | ubuntu-noble | info: syncing channel updates for stable-x86_64-unknown-linux-gnu 2026-04-02 12:41:36.478675 | ubuntu-noble | info: latest update on 2026-03-26 for version 1.94.1 (e408947bf 2026-03-25) 2026-04-02 12:41:36.478752 | ubuntu-noble | info: downloading 6 components 2026-04-02 12:41:49.680138 | ubuntu-noble | info: default toolchain set to stable-x86_64-unknown-linux-gnu 2026-04-02 12:41:49.680240 | ubuntu-noble | 2026-04-02 12:41:49.703050 | ubuntu-noble | stable-x86_64-unknown-linux-gnu installed - rustc 1.94.1 (e408947bf 2026-03-25) 2026-04-02 12:41:49.703078 | ubuntu-noble | 2026-04-02 12:41:49.703093 | ubuntu-noble | 2026-04-02 12:41:49.703103 | ubuntu-noble | Rust is installed now. Great! 2026-04-02 12:41:49.703114 | ubuntu-noble | 2026-04-02 12:41:49.703124 | ubuntu-noble | To get started you need Cargo's bin directory (/opt/rust/bin) in your PATH 2026-04-02 12:41:49.703134 | ubuntu-noble | environment variable. This has not been done automatically. 2026-04-02 12:41:49.703144 | ubuntu-noble | 2026-04-02 12:41:49.703153 | ubuntu-noble | To configure your current shell, you need to source 2026-04-02 12:41:49.703163 | ubuntu-noble | the corresponding env file under /opt/rust. 2026-04-02 12:41:49.703172 | ubuntu-noble | 2026-04-02 12:41:49.703201 | ubuntu-noble | This is usually done by running one of the following (note the leading DOT): 2026-04-02 12:41:49.703210 | ubuntu-noble | . "/opt/rust/env" # For sh/bash/zsh/ash/dash/pdksh 2026-04-02 12:41:49.703224 | ubuntu-noble | source "/opt/rust/env.fish" # For fish 2026-04-02 12:41:49.703234 | ubuntu-noble | source "/opt/rust/env.nu" # For nushell 2026-04-02 12:41:49.703244 | ubuntu-noble | source "/opt/rust/env.tcsh" # For tcsh 2026-04-02 12:41:49.703253 | ubuntu-noble | . "/opt/rust/env.ps1" # For pwsh 2026-04-02 12:41:49.703262 | ubuntu-noble | source "/opt/rust/env.xsh" # For xonsh 2026-04-02 12:41:49.703272 | ubuntu-noble | warn: no default linker (`cc`) was found in your PATH 2026-04-02 12:41:49.703281 | ubuntu-noble | warn: many Rust crates require a system C toolchain to build 2026-04-02 12:41:49.934070 | ubuntu-noble | ok: Runtime: 0:00:13.959927 2026-04-02 12:41:49.940269 | 2026-04-02 12:41:49.940329 | TASK [ensure-rust : Install wrapper helper script] 2026-04-02 12:41:50.825298 | ubuntu-noble | changed 2026-04-02 12:41:50.837023 | 2026-04-02 12:41:50.837178 | TASK [ensure-rust : Run wrapper installation] 2026-04-02 12:41:51.097942 | ubuntu-noble | Install link for cargo 2026-04-02 12:41:51.103440 | ubuntu-noble | Install link for cargo-clippy 2026-04-02 12:41:51.108588 | ubuntu-noble | Install link for cargo-fmt 2026-04-02 12:41:51.113522 | ubuntu-noble | Install link for cargo-miri 2026-04-02 12:41:51.118511 | ubuntu-noble | Install link for clippy-driver 2026-04-02 12:41:51.122784 | ubuntu-noble | Install link for rls 2026-04-02 12:41:51.127748 | ubuntu-noble | Install link for rust-analyzer 2026-04-02 12:41:51.133842 | ubuntu-noble | Install link for rust-gdb 2026-04-02 12:41:51.138425 | ubuntu-noble | Install link for rust-gdbgui 2026-04-02 12:41:51.142527 | ubuntu-noble | Install link for rust-lldb 2026-04-02 12:41:51.147686 | ubuntu-noble | Install link for rustc 2026-04-02 12:41:51.152130 | ubuntu-noble | Install link for rustdoc 2026-04-02 12:41:51.157874 | ubuntu-noble | Install link for rustfmt 2026-04-02 12:41:51.163789 | ubuntu-noble | Install link for rustup 2026-04-02 12:41:51.377948 | ubuntu-noble | ok: Runtime: 0:00:00.089797 2026-04-02 12:41:51.385662 | 2026-04-02 12:41:51.385750 | TASK [ensure-rust : Install packages] 2026-04-02 12:41:51.410135 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 12:41:51.425742 | 2026-04-02 12:41:51.425830 | TASK [Check and install uv if necessary] 2026-04-02 12:41:51.445945 | ubuntu-noble | ok 2026-04-02 12:41:51.612121 | 2026-04-02 12:41:51.612248 | TASK [Install pip] 2026-04-02 12:41:51.639209 | ubuntu-noble | ok 2026-04-02 12:41:51.851283 | 2026-04-02 12:41:52.690867 | TASK [ensure-pip : Check if pip is installed] 2026-04-02 12:41:52.939754 | ubuntu-noble | /usr/bin/pip3 2026-04-02 12:41:52.975397 | ubuntu-noble | usage: __main__.py [-h] {unpack,pack,convert,tags,version,help} ... 2026-04-02 12:41:52.975454 | ubuntu-noble | 2026-04-02 12:41:52.975462 | ubuntu-noble | positional arguments: 2026-04-02 12:41:52.975469 | ubuntu-noble | {unpack,pack,convert,tags,version,help} 2026-04-02 12:41:52.975475 | ubuntu-noble | commands 2026-04-02 12:41:52.975481 | ubuntu-noble | unpack Unpack wheel 2026-04-02 12:41:52.975492 | ubuntu-noble | pack Repack wheel 2026-04-02 12:41:52.975501 | ubuntu-noble | convert Convert egg or wininst to wheel 2026-04-02 12:41:52.975511 | ubuntu-noble | tags Add or replace the tags on a wheel 2026-04-02 12:41:52.975519 | ubuntu-noble | version Print version and exit 2026-04-02 12:41:52.975525 | ubuntu-noble | help Show this help 2026-04-02 12:41:52.975530 | ubuntu-noble | 2026-04-02 12:41:52.975536 | ubuntu-noble | options: 2026-04-02 12:41:52.975542 | ubuntu-noble | -h, --help show this help message and exit 2026-04-02 12:41:53.234738 | ubuntu-noble | ok: Runtime: 0:00:00.049057 2026-04-02 12:41:53.267176 | 2026-04-02 12:41:53.267296 | LOOP [ensure-pip : Install pip from packages] 2026-04-02 12:41:53.290575 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 12:41:53.313682 | 2026-04-02 12:41:53.313816 | TASK [ensure-pip : Ensure setuptools] 2026-04-02 12:41:53.339222 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 12:41:53.352214 | 2026-04-02 12:41:53.352308 | TASK [ensure-pip : Check for ensurepip module] 2026-04-02 12:41:53.640369 | ubuntu-noble | usage: python -m ensurepip [-h] [--version] [-v] [-U] [--user] [--root ROOT] 2026-04-02 12:41:53.640510 | ubuntu-noble | [--altinstall] [--default-pip] 2026-04-02 12:41:53.640525 | ubuntu-noble | 2026-04-02 12:41:53.640536 | ubuntu-noble | options: 2026-04-02 12:41:53.640547 | ubuntu-noble | -h, --help show this help message and exit 2026-04-02 12:41:53.640563 | ubuntu-noble | --version Show the version of pip that is bundled with this Python. 2026-04-02 12:41:53.640576 | ubuntu-noble | -v, --verbose Give more output. Option is additive, and can be used up to 3 2026-04-02 12:41:53.640591 | ubuntu-noble | times. 2026-04-02 12:41:53.640602 | ubuntu-noble | -U, --upgrade Upgrade pip and dependencies, even if already installed. 2026-04-02 12:41:53.640610 | ubuntu-noble | --user Install using the user scheme. 2026-04-02 12:41:53.640620 | ubuntu-noble | --root ROOT Install everything relative to this alternate root directory. 2026-04-02 12:41:53.640628 | ubuntu-noble | --altinstall Make an alternate install, installing only the X.Y versioned 2026-04-02 12:41:53.640637 | ubuntu-noble | scripts (Default: pipX, pipX.Y). 2026-04-02 12:41:53.640646 | ubuntu-noble | --default-pip Make a default pip install, installing the unqualified pip in 2026-04-02 12:41:53.640654 | ubuntu-noble | addition to the versioned scripts. 2026-04-02 12:41:54.304143 | ubuntu-noble | ok: Runtime: 0:00:00.068434 2026-04-02 12:41:54.310213 | 2026-04-02 12:41:54.310277 | TASK [ensure-pip : Ensure python3-venv] 2026-04-02 12:41:54.345424 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 12:41:54.359455 | 2026-04-02 12:41:54.359556 | TASK [ensure-pip : Install pip from source] 2026-04-02 12:41:54.384573 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 12:41:54.397261 | 2026-04-02 12:41:54.397638 | TASK [ensure-pip : Probe for venv python full path] 2026-04-02 12:41:54.660049 | ubuntu-noble | /usr/bin/python3 2026-04-02 12:41:54.954246 | ubuntu-noble | ok: Runtime: 0:00:00.007991 2026-04-02 12:41:54.960145 | 2026-04-02 12:41:54.960211 | TASK [ensure-pip : Set host default] 2026-04-02 12:41:55.017803 | ubuntu-noble | ok 2026-04-02 12:41:55.023675 | 2026-04-02 12:41:55.023742 | TASK [ensure-pip : Set ensure_pip_virtualenv_command] 2026-04-02 12:41:55.164172 | ubuntu-noble | ok 2026-04-02 12:41:55.176010 | 2026-04-02 12:41:55.176078 | TASK [ensure-python-command : Check if the command name is set and non-empty] 2026-04-02 12:41:55.210696 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 12:41:55.223265 | 2026-04-02 12:41:55.223363 | TASK [ensure-python-command : Check if uv is available] 2026-04-02 12:41:55.763503 | ubuntu-noble | ok: Runtime: 0:00:00.009019 2026-04-02 12:41:57.529025 | 2026-04-02 12:41:57.529190 | TASK [ensure-python-command : Export preinstalled ensure_python_command_executable] 2026-04-02 12:41:57.557393 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 12:41:57.565441 | 2026-04-02 12:41:57.565547 | TASK [ensure-python-command : Create local venv] 2026-04-02 12:42:01.610910 | ubuntu-noble | ok: Runtime: 0:00:03.545027 2026-04-02 12:42:01.620033 | 2026-04-02 12:42:01.620097 | TASK [ensure-python-command : Install uv to local venv] 2026-04-02 12:42:03.061486 | ubuntu-noble | Collecting uv 2026-04-02 12:42:03.130890 | ubuntu-noble | Downloading uv-0.11.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (11 kB) 2026-04-02 12:42:06.525633 | ubuntu-noble | Downloading uv-0.11.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (24.6 MB) 2026-04-02 12:42:12.282678 | ubuntu-noble | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 24.6/24.6 MB 1.9 MB/s eta 0:00:00 2026-04-02 12:42:12.330955 | ubuntu-noble | Installing collected packages: uv 2026-04-02 12:42:15.366765 | ubuntu-noble | Successfully installed uv-0.11.3 2026-04-02 12:42:15.698999 | ubuntu-noble | ok: Runtime: 0:00:13.678474 2026-04-02 12:42:15.704821 | 2026-04-02 12:42:15.704887 | TASK [ensure-python-command : Export installed ensure_python_command_executable path] 2026-04-02 12:42:15.820223 | ubuntu-noble | ok 2026-04-02 12:42:15.827680 | 2026-04-02 12:42:15.827744 | TASK [ensure-python-command : Output uv version] 2026-04-02 12:42:16.720599 | ubuntu-noble | uv 0.11.3 (x86_64-unknown-linux-gnu) 2026-04-02 12:42:16.862301 | ubuntu-noble | ok: Runtime: 0:00:00.024037 2026-04-02 12:42:16.911353 | 2026-04-02 12:42:16.911509 | TASK [ensure-python-command : Make global symlink] 2026-04-02 12:42:17.423246 | ubuntu-noble | changed 2026-04-02 12:42:25.061379 | 2026-04-02 12:42:25.061520 | TASK [ensure-uv : Export ensure_uv_executable path] 2026-04-02 12:42:25.311416 | ubuntu-noble | ok 2026-04-02 12:42:25.323805 | 2026-04-02 12:42:25.323870 | TASK [Install build dependencies] 2026-04-02 12:42:48.830047 | ubuntu-noble | changed 2026-04-02 12:42:48.841390 | 2026-04-02 12:42:48.973166 | TASK [Run no-op command to build module] 2026-04-02 12:42:49.329471 | ubuntu-noble | Using CPython 3.12.3 interpreter at: /usr/bin/python3 2026-04-02 12:42:49.329714 | ubuntu-noble | Creating virtual environment at: .venv 2026-04-02 12:42:49.383293 | ubuntu-noble | Building magnum-cluster-api @ file:///home/zuul/src/github.com/vexxhost/magnum-cluster-api 2026-04-02 12:42:49.501619 | ubuntu-noble | Downloading networkx (1.6MiB) 2026-04-02 12:42:49.502310 | ubuntu-noble | Downloading netaddr (2.2MiB) 2026-04-02 12:42:49.505683 | ubuntu-noble | Downloading openstacksdk (1.7MiB) 2026-04-02 12:42:49.505950 | ubuntu-noble | Downloading python-openstackclient (1.1MiB) 2026-04-02 12:42:49.506195 | ubuntu-noble | Downloading sqlalchemy (3.1MiB) 2026-04-02 12:42:49.507080 | ubuntu-noble | Downloading babel (9.7MiB) 2026-04-02 12:42:49.522157 | ubuntu-noble | Downloading cryptography (4.0MiB) 2026-04-02 12:42:49.522630 | ubuntu-noble | Downloading kubernetes (1.9MiB) 2026-04-02 12:42:49.532557 | ubuntu-noble | Downloading setuptools (1.2MiB) 2026-04-02 12:42:50.151139 | ubuntu-noble | Building simplegeneric==0.8.1 2026-04-02 12:42:50.168353 | ubuntu-noble | Building pyperclip==1.9.0 2026-04-02 12:42:50.201818 | ubuntu-noble | Building logutils==0.3.5 2026-04-02 12:42:50.224657 | ubuntu-noble | Building haproxyadmin==0.2.4 2026-04-02 12:42:50.381267 | ubuntu-noble | Downloaded netaddr 2026-04-02 12:42:50.522886 | ubuntu-noble | Downloaded python-openstackclient 2026-04-02 12:42:50.555183 | ubuntu-noble | Downloaded setuptools 2026-04-02 12:42:50.559559 | ubuntu-noble | Downloaded sqlalchemy 2026-04-02 12:42:50.591497 | ubuntu-noble | Downloaded cryptography 2026-04-02 12:42:50.609248 | ubuntu-noble | Downloaded networkx 2026-04-02 12:42:50.732937 | ubuntu-noble | Downloaded kubernetes 2026-04-02 12:42:50.846673 | ubuntu-noble | Downloaded openstacksdk 2026-04-02 12:42:50.928009 | ubuntu-noble | Downloaded babel 2026-04-02 12:42:51.200289 | ubuntu-noble | Built pyperclip==1.9.0 2026-04-02 12:42:51.205275 | ubuntu-noble | Built simplegeneric==0.8.1 2026-04-02 12:42:51.234757 | ubuntu-noble | Built logutils==0.3.5 2026-04-02 12:42:51.415385 | ubuntu-noble | Built haproxyadmin==0.2.4 2026-04-02 12:44:48.144118 | ubuntu-noble | Built magnum-cluster-api @ file:///home/zuul/src/github.com/vexxhost/magnum-cluster-api 2026-04-02 12:44:48.264194 | ubuntu-noble | Installed 155 packages in 115ms 2026-04-02 12:44:48.282797 | ubuntu-noble | Python 3.12.3 2026-04-02 12:44:48.603813 | ubuntu-noble | ok: Runtime: 0:01:59.145183 2026-04-02 12:44:48.623537 | 2026-04-02 12:44:48.623644 | PLAY RECAP 2026-04-02 12:44:48.623738 | ubuntu-noble | ok: 18 changed: 13 unreachable: 0 failed: 0 skipped: 7 rescued: 0 ignored: 0 2026-04-02 12:44:48.623787 | 2026-04-02 12:44:48.743998 | PRE-RUN END RESULT_NORMAL: [untrusted : github.com/vexxhost/magnum-cluster-api/zuul.d/playbooks/tox/pre.yml@main] 2026-04-02 12:44:48.747358 | PRE-RUN START: [untrusted : github.com/vexxhost/magnum-cluster-api/zuul.d/playbooks/unit/pre.yml@main] 2026-04-02 12:44:49.378634 | 2026-04-02 12:44:49.378765 | PLAY [all] 2026-04-02 12:44:49.389881 | 2026-04-02 12:44:49.389957 | TASK [shell: {{ zuul.project.src_dir }}/hack/setup-helm.sh] 2026-04-02 12:44:49.828379 | ubuntu-noble | + HELM_VERSION=v3.10.3 2026-04-02 12:44:49.828490 | ubuntu-noble | + curl -Lo /tmp/helm.tar.gz https://get.helm.sh/helm-v3.10.3-linux-amd64.tar.gz 2026-04-02 12:44:49.838402 | ubuntu-noble | % Total % Received % Xferd Average Speed Time Time Time Current 2026-04-02 12:44:49.838464 | ubuntu-noble | Dload Upload Total Spent Left Speed 2026-04-02 12:44:50.276476 | ubuntu-noble | 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 31 13.8M 31 4480k 0 0 13.7M 0 0:00:01 --:--:-- 0:00:01 13.7M 100 13.8M 100 13.8M 0 0 31.7M 0 --:--:-- --:--:-- --:--:-- 31.6M 2026-04-02 12:44:50.282489 | ubuntu-noble | + tar -zxvf /tmp/helm.tar.gz -C /tmp 2026-04-02 12:44:50.293569 | ubuntu-noble | linux-amd64/ 2026-04-02 12:44:50.293607 | ubuntu-noble | linux-amd64/helm 2026-04-02 12:44:50.595949 | ubuntu-noble | linux-amd64/LICENSE 2026-04-02 12:44:50.596007 | ubuntu-noble | linux-amd64/README.md 2026-04-02 12:44:50.596772 | ubuntu-noble | + sudo mv /tmp/linux-amd64/helm /usr/local/bin/helm 2026-04-02 12:44:50.612430 | ubuntu-noble | + rm -rf /tmp/helm.tar.gz /tmp/linux-amd64/ 2026-04-02 12:44:50.931496 | ubuntu-noble | ok: Runtime: 0:00:00.807960 2026-04-02 12:44:50.934359 | 2026-04-02 12:44:50.934406 | PLAY RECAP 2026-04-02 12:44:50.934455 | ubuntu-noble | ok: 1 changed: 1 unreachable: 0 failed: 0 skipped: 0 rescued: 0 ignored: 0 2026-04-02 12:44:50.934478 | 2026-04-02 12:44:51.033001 | PRE-RUN END RESULT_NORMAL: [untrusted : github.com/vexxhost/magnum-cluster-api/zuul.d/playbooks/unit/pre.yml@main] 2026-04-02 12:44:51.035346 | RUN START: [untrusted : opendev.org/zuul/zuul-jobs/playbooks/tox/run.yaml@master] 2026-04-02 12:44:51.796371 | 2026-04-02 12:44:51.796501 | PLAY [all] 2026-04-02 12:44:51.809252 | 2026-04-02 12:44:51.809331 | TASK [revoke-sudo : Check if zuul is sudoer] 2026-04-02 12:44:52.347649 | ubuntu-noble | ok: Runtime: 0:00:00.018803 2026-04-02 12:44:52.355635 | 2026-04-02 12:44:52.355755 | TASK [revoke-sudo : Remove sudo access for zuul user.] 2026-04-02 12:44:52.895221 | ubuntu-noble | ok: Runtime: 0:00:00.007333 2026-04-02 12:44:53.310048 | 2026-04-02 12:44:53.310174 | TASK [revoke-sudo : Prove that general sudo access is actually revoked.] 2026-04-02 12:44:53.575260 | ubuntu-noble | sudo: a password is required 2026-04-02 12:44:53.866261 | ubuntu-noble | ok: Runtime: 0:00:00.016339 2026-04-02 12:44:53.885715 | 2026-04-02 12:44:53.885900 | TASK [tox : Check to see if the constraints file exists] 2026-04-02 12:44:53.910830 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 12:44:53.920497 | 2026-04-02 12:44:53.920588 | TASK [tox : Fail if constraints file is missing] 2026-04-02 12:44:53.955212 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 12:44:53.967267 | 2026-04-02 12:44:53.967362 | TASK [tox : Record file location] 2026-04-02 12:44:54.002597 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 12:44:54.012419 | 2026-04-02 12:44:54.012512 | TASK [tox : Install tox siblings] 2026-04-02 12:44:54.046526 | ubuntu-noble | ok 2026-04-02 12:44:55.408639 | ubuntu-noble | included: /var/lib/zuul/builds/8a349a3001764ce5a138bf3680253ebe/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/tox/tasks/siblings.yaml 2026-04-02 12:44:55.418429 | 2026-04-02 12:44:55.418529 | TASK [tox : Run tox without tests] 2026-04-02 12:44:55.934193 | ubuntu-noble | ROOT: 187 D setup logging to DEBUG on pid 6441 [tox/report.py:229] 2026-04-02 12:44:55.965316 | ubuntu-noble | unit: 218 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65] 2026-04-02 12:44:55.967271 | ubuntu-noble | unit: 220 I find interpreter for spec PythonSpec(path=/home/zuul/.local/tox/bin/python3) [python_discovery/_discovery.py:62] 2026-04-02 12:44:55.967712 | ubuntu-noble | unit: 221 D filesystem is case-sensitive [python_discovery/_compat.py:18] 2026-04-02 12:44:55.971724 | ubuntu-noble | unit: 225 D get interpreter info via cmd: /usr/bin/python3.12 /home/zuul/.local/tox/lib/python3.12/site-packages/python_discovery/_py_info.py c5d5ea07e88c3da3f8922673c2861e26 118484a56391bba3403c4223545e2ebc [python_discovery/_cached_py_info.py:198] 2026-04-02 12:44:56.032479 | ubuntu-noble | unit: 285 D wrote python info of /usr/bin/python3.12 at /home/zuul/.cache/virtualenv/py_info/4/f0d7a494a3f776233427cb85a7e198c7cf4913b50a203c6febc678cc4f5bf265.json [virtualenv/app_data/via_disk_folder.py:159] 2026-04-02 12:44:56.032917 | ubuntu-noble | unit: 286 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Mar 3 2026, 12:15:18) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:71] 2026-04-02 12:44:56.033112 | ubuntu-noble | unit: 286 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Mar 3 2026, 12:15:18) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:75] 2026-04-02 12:44:56.034978 | ubuntu-noble | unit: 288 D symlink on filesystem does work [virtualenv/info.py:51] 2026-04-02 12:44:56.035271 | ubuntu-noble | unit: 288 D filesystem is case-sensitive [virtualenv/info.py:28] 2026-04-02 12:44:56.060417 | ubuntu-noble | unit: 313 I create virtual environment via CPython3Posix(dest=/home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/unit, clear=False, no_vcs_ignore=False, global=False) [virtualenv/run/session.py:77] 2026-04-02 12:44:56.060667 | ubuntu-noble | unit: 314 D create folder /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/unit/bin [virtualenv/util/path/_sync.py:18] 2026-04-02 12:44:56.060794 | ubuntu-noble | unit: 314 D create folder /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/unit/include [virtualenv/util/path/_sync.py:18] 2026-04-02 12:44:56.060913 | ubuntu-noble | unit: 314 D create folder /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/unit/lib/python3.12/site-packages [virtualenv/util/path/_sync.py:18] 2026-04-02 12:44:56.061136 | ubuntu-noble | unit: 314 D write /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/unit/pyvenv.cfg [virtualenv/create/pyenv_cfg.py:41] 2026-04-02 12:44:56.061207 | ubuntu-noble | unit: 314 D home = /usr/bin [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 12:44:56.061265 | ubuntu-noble | unit: 314 D implementation = CPython [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 12:44:56.061317 | ubuntu-noble | unit: 314 D version_info = 3.12.3.final.0 [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 12:44:56.061373 | ubuntu-noble | unit: 314 D version = 3.12.3 [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 12:44:56.061425 | ubuntu-noble | unit: 314 D executable = /usr/bin/python3.12 [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 12:44:56.061480 | ubuntu-noble | unit: 314 D command = /home/zuul/.local/tox/bin/python3 -m virtualenv /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/unit [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 12:44:56.061533 | ubuntu-noble | unit: 314 D virtualenv = 21.2.0 [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 12:44:56.061675 | ubuntu-noble | unit: 315 D include-system-site-packages = false [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 12:44:56.061727 | ubuntu-noble | unit: 315 D base-prefix = /usr [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 12:44:56.061767 | ubuntu-noble | unit: 315 D base-exec-prefix = /usr [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 12:44:56.061813 | ubuntu-noble | unit: 315 D base-executable = /usr/bin/python3.12 [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 12:44:56.062064 | ubuntu-noble | unit: 315 D symlink /usr/bin/python3.12 to /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/unit/bin/python [virtualenv/util/path/_sync.py:38] 2026-04-02 12:44:56.062371 | ubuntu-noble | unit: 315 D create virtualenv import hook file /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/unit/lib/python3.12/site-packages/_virtualenv.pth [virtualenv/create/via_global_ref/api.py:118] 2026-04-02 12:44:56.062495 | ubuntu-noble | unit: 315 D create /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/unit/lib/python3.12/site-packages/_virtualenv.py [virtualenv/create/via_global_ref/api.py:121] 2026-04-02 12:44:56.062873 | ubuntu-noble | unit: 316 D ============================== target debug ============================== [virtualenv/run/session.py:79] 2026-04-02 12:44:56.063102 | ubuntu-noble | unit: 316 D debug via /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/unit/bin/python /home/zuul/.local/tox/lib/python3.12/site-packages/virtualenv/create/debug.py [virtualenv/create/creator.py:263] 2026-04-02 12:44:56.103191 | ubuntu-noble | unit: 316 D { 2026-04-02 12:44:56.103261 | ubuntu-noble | "sys": { 2026-04-02 12:44:56.103272 | ubuntu-noble | "executable": "/home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/unit/bin/python", 2026-04-02 12:44:56.103281 | ubuntu-noble | "_base_executable": "/usr/bin/python3.12", 2026-04-02 12:44:56.103290 | ubuntu-noble | "prefix": "/home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/unit", 2026-04-02 12:44:56.103299 | ubuntu-noble | "base_prefix": "/usr", 2026-04-02 12:44:56.103308 | ubuntu-noble | "real_prefix": null, 2026-04-02 12:44:56.103317 | ubuntu-noble | "exec_prefix": "/home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/unit", 2026-04-02 12:44:56.103325 | ubuntu-noble | "base_exec_prefix": "/usr", 2026-04-02 12:44:56.103334 | ubuntu-noble | "path": [ 2026-04-02 12:44:56.103342 | ubuntu-noble | "/usr/lib/python312.zip", 2026-04-02 12:44:56.103350 | ubuntu-noble | "/usr/lib/python3.12", 2026-04-02 12:44:56.103360 | ubuntu-noble | "/usr/lib/python3.12/lib-dynload", 2026-04-02 12:44:56.103368 | ubuntu-noble | "/home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/unit/lib/python3.12/site-packages" 2026-04-02 12:44:56.103377 | ubuntu-noble | ], 2026-04-02 12:44:56.103385 | ubuntu-noble | "meta_path": [ 2026-04-02 12:44:56.103394 | ubuntu-noble | "", 2026-04-02 12:44:56.103402 | ubuntu-noble | "", 2026-04-02 12:44:56.103410 | ubuntu-noble | "", 2026-04-02 12:44:56.103419 | ubuntu-noble | "" 2026-04-02 12:44:56.103427 | ubuntu-noble | ], 2026-04-02 12:44:56.103435 | ubuntu-noble | "fs_encoding": "utf-8", 2026-04-02 12:44:56.103443 | ubuntu-noble | "io_encoding": "utf-8" 2026-04-02 12:44:56.103452 | ubuntu-noble | }, 2026-04-02 12:44:56.103460 | ubuntu-noble | "version": "3.12.3 (main, Mar 3 2026, 12:15:18) [GCC 13.3.0]", 2026-04-02 12:44:56.103468 | ubuntu-noble | "makefile_filename": "/usr/lib/python3.12/config-3.12-x86_64-linux-gnu/Makefile", 2026-04-02 12:44:56.103478 | ubuntu-noble | "os": "", 2026-04-02 12:44:56.103500 | ubuntu-noble | "site": "", 2026-04-02 12:44:56.103509 | ubuntu-noble | "datetime": "", 2026-04-02 12:44:56.103517 | ubuntu-noble | "math": "", 2026-04-02 12:44:56.103525 | ubuntu-noble | "json": "" 2026-04-02 12:44:56.103534 | ubuntu-noble | } [virtualenv/run/session.py:80] 2026-04-02 12:44:56.103548 | ubuntu-noble | unit: 356 I add seed packages via FromAppData(download=False, pip=bundle, via=copy, app_data_dir=/home/zuul/.cache/virtualenv) [virtualenv/run/session.py:84] 2026-04-02 12:44:56.105139 | ubuntu-noble | unit: 358 D install pip from wheel /home/zuul/.local/tox/lib/python3.12/site-packages/virtualenv/seed/wheels/embed/pip-26.0.1-py3-none-any.whl via CopyPipInstall [virtualenv/seed/embed/via_app_data/via_app_data.py:65] 2026-04-02 12:44:56.106667 | ubuntu-noble | unit: 359 D build install image for pip-26.0.1-py3-none-any.whl to /home/zuul/.cache/virtualenv/wheel/3.12/image/1/CopyPipInstall/pip-26.0.1-py3-none-any [virtualenv/seed/embed/via_app_data/pip_install/base.py:53] 2026-04-02 12:44:56.201941 | ubuntu-noble | unit: 455 D copy directory /home/zuul/.cache/virtualenv/wheel/3.12/image/1/CopyPipInstall/pip-26.0.1-py3-none-any/pip to /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/unit/lib/python3.12/site-packages/pip [virtualenv/util/path/_sync.py:46] 2026-04-02 12:44:56.254362 | ubuntu-noble | unit: 507 D copy directory /home/zuul/.cache/virtualenv/wheel/3.12/image/1/CopyPipInstall/pip-26.0.1-py3-none-any/pip-26.0.1.dist-info to /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/unit/lib/python3.12/site-packages/pip-26.0.1.dist-info [virtualenv/util/path/_sync.py:46] 2026-04-02 12:44:56.259468 | ubuntu-noble | unit: 512 D copy /home/zuul/.cache/virtualenv/wheel/3.12/image/1/CopyPipInstall/pip-26.0.1-py3-none-any/pip-26.0.1.virtualenv to /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/unit/lib/python3.12/site-packages/pip-26.0.1.virtualenv [virtualenv/util/path/_sync.py:46] 2026-04-02 12:44:56.260098 | ubuntu-noble | unit: 513 D generated console scripts pip pip3 pip-3.12 pip3.12 [virtualenv/seed/embed/via_app_data/pip_install/base.py:49] 2026-04-02 12:44:56.260524 | ubuntu-noble | unit: 513 I add activators for Bash, CShell, Fish, Nushell, PowerShell, Python [virtualenv/run/session.py:90] 2026-04-02 12:44:56.267659 | ubuntu-noble | unit: 520 D write /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/unit/pyvenv.cfg [virtualenv/create/pyenv_cfg.py:41] 2026-04-02 12:44:56.267765 | ubuntu-noble | unit: 521 D home = /usr/bin [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 12:44:56.267881 | ubuntu-noble | unit: 521 D implementation = CPython [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 12:44:56.268029 | ubuntu-noble | unit: 521 D version_info = 3.12.3.final.0 [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 12:44:56.268114 | ubuntu-noble | unit: 521 D version = 3.12.3 [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 12:44:56.268313 | ubuntu-noble | unit: 521 D executable = /usr/bin/python3.12 [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 12:44:56.268341 | ubuntu-noble | unit: 521 D command = /home/zuul/.local/tox/bin/python3 -m virtualenv /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/unit [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 12:44:56.268358 | ubuntu-noble | unit: 521 D virtualenv = 21.2.0 [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 12:44:56.268371 | ubuntu-noble | unit: 521 D include-system-site-packages = false [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 12:44:56.268430 | ubuntu-noble | unit: 521 D base-prefix = /usr [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 12:44:56.268469 | ubuntu-noble | unit: 521 D base-exec-prefix = /usr [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 12:44:56.268516 | ubuntu-noble | unit: 521 D base-executable = /usr/bin/python3.12 [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 12:44:56.271611 | ubuntu-noble | unit: 524 W install_deps> python -I -m pip install fixtures lark oslotest pytest pytest-mock responses stestr [tox/tox_env/api.py:515] 2026-04-02 12:44:57.241439 | ubuntu-noble | Collecting fixtures 2026-04-02 12:44:57.315788 | ubuntu-noble | Downloading fixtures-4.3.2-py3-none-any.whl.metadata (22 kB) 2026-04-02 12:44:57.372441 | ubuntu-noble | Collecting lark 2026-04-02 12:44:57.376950 | ubuntu-noble | Downloading lark-1.3.1-py3-none-any.whl.metadata (1.8 kB) 2026-04-02 12:44:57.427767 | ubuntu-noble | Collecting oslotest 2026-04-02 12:44:57.431548 | ubuntu-noble | Downloading oslotest-6.1.0-py3-none-any.whl.metadata (1.8 kB) 2026-04-02 12:44:57.502624 | ubuntu-noble | Collecting pytest 2026-04-02 12:44:57.506225 | ubuntu-noble | Downloading pytest-9.0.2-py3-none-any.whl.metadata (7.6 kB) 2026-04-02 12:44:57.552405 | ubuntu-noble | Collecting pytest-mock 2026-04-02 12:44:57.555900 | ubuntu-noble | Downloading pytest_mock-3.15.1-py3-none-any.whl.metadata (3.9 kB) 2026-04-02 12:44:57.601525 | ubuntu-noble | Collecting responses 2026-04-02 12:44:57.605031 | ubuntu-noble | Downloading responses-0.26.0-py3-none-any.whl.metadata (48 kB) 2026-04-02 12:44:57.671308 | ubuntu-noble | Collecting stestr 2026-04-02 12:44:57.675565 | ubuntu-noble | Downloading stestr-4.2.1-py3-none-any.whl.metadata (7.7 kB) 2026-04-02 12:44:57.717709 | ubuntu-noble | Collecting testtools>=2.2.0 (from oslotest) 2026-04-02 12:44:57.721964 | ubuntu-noble | Downloading testtools-2.8.7-py3-none-any.whl.metadata (5.4 kB) 2026-04-02 12:44:57.750741 | ubuntu-noble | Collecting iniconfig>=1.0.1 (from pytest) 2026-04-02 12:44:57.753550 | ubuntu-noble | Downloading iniconfig-2.3.0-py3-none-any.whl.metadata (2.5 kB) 2026-04-02 12:44:57.781217 | ubuntu-noble | Collecting packaging>=22 (from pytest) 2026-04-02 12:44:57.782240 | ubuntu-noble | Using cached packaging-26.0-py3-none-any.whl.metadata (3.3 kB) 2026-04-02 12:44:57.803197 | ubuntu-noble | Collecting pluggy<2,>=1.5 (from pytest) 2026-04-02 12:44:57.804817 | ubuntu-noble | Using cached pluggy-1.6.0-py3-none-any.whl.metadata (4.8 kB) 2026-04-02 12:44:57.838838 | ubuntu-noble | Collecting pygments>=2.7.2 (from pytest) 2026-04-02 12:44:57.842103 | ubuntu-noble | Downloading pygments-2.20.0-py3-none-any.whl.metadata (2.5 kB) 2026-04-02 12:44:57.892755 | ubuntu-noble | Collecting requests<3.0,>=2.30.0 (from responses) 2026-04-02 12:44:57.895789 | ubuntu-noble | Downloading requests-2.33.1-py3-none-any.whl.metadata (4.8 kB) 2026-04-02 12:44:57.945929 | ubuntu-noble | Collecting urllib3<3.0,>=1.25.10 (from responses) 2026-04-02 12:44:57.949168 | ubuntu-noble | Downloading urllib3-2.6.3-py3-none-any.whl.metadata (6.9 kB) 2026-04-02 12:44:58.009000 | ubuntu-noble | Collecting pyyaml (from responses) 2026-04-02 12:44:58.012602 | ubuntu-noble | Downloading pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (2.4 kB) 2026-04-02 12:44:58.166595 | ubuntu-noble | Collecting charset_normalizer<4,>=2 (from requests<3.0,>=2.30.0->responses) 2026-04-02 12:44:58.171100 | ubuntu-noble | Downloading charset_normalizer-3.4.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (40 kB) 2026-04-02 12:44:58.219727 | ubuntu-noble | Collecting idna<4,>=2.5 (from requests<3.0,>=2.30.0->responses) 2026-04-02 12:44:58.223473 | ubuntu-noble | Downloading idna-3.11-py3-none-any.whl.metadata (8.4 kB) 2026-04-02 12:44:58.274196 | ubuntu-noble | Collecting certifi>=2023.5.7 (from requests<3.0,>=2.30.0->responses) 2026-04-02 12:44:58.277691 | ubuntu-noble | Downloading certifi-2026.2.25-py3-none-any.whl.metadata (2.5 kB) 2026-04-02 12:44:58.329327 | ubuntu-noble | Collecting cliff>=2.8.0 (from stestr) 2026-04-02 12:44:58.332744 | ubuntu-noble | Downloading cliff-4.13.2-py3-none-any.whl.metadata (2.1 kB) 2026-04-02 12:44:58.362439 | ubuntu-noble | Collecting python-subunit>=1.4.0 (from stestr) 2026-04-02 12:44:58.366671 | ubuntu-noble | Downloading python_subunit-1.4.5-py3-none-any.whl.metadata (22 kB) 2026-04-02 12:44:58.412977 | ubuntu-noble | Collecting voluptuous>=0.8.9 (from stestr) 2026-04-02 12:44:58.416562 | ubuntu-noble | Downloading voluptuous-0.16.0-py3-none-any.whl.metadata (20 kB) 2026-04-02 12:44:58.458514 | ubuntu-noble | Collecting tomlkit>=0.11.6 (from stestr) 2026-04-02 12:44:58.461641 | ubuntu-noble | Downloading tomlkit-0.14.0-py3-none-any.whl.metadata (2.8 kB) 2026-04-02 12:44:58.491949 | ubuntu-noble | Collecting autopage>=0.4.0 (from cliff>=2.8.0->stestr) 2026-04-02 12:44:58.494981 | ubuntu-noble | Downloading autopage-0.6.0-py3-none-any.whl.metadata (8.1 kB) 2026-04-02 12:44:58.548719 | ubuntu-noble | Collecting cmd2>=1.0.0 (from cliff>=2.8.0->stestr) 2026-04-02 12:44:58.551956 | ubuntu-noble | Downloading cmd2-3.4.0-py3-none-any.whl.metadata (16 kB) 2026-04-02 12:44:58.584186 | ubuntu-noble | Collecting PrettyTable>=0.7.2 (from cliff>=2.8.0->stestr) 2026-04-02 12:44:58.587177 | ubuntu-noble | Downloading prettytable-3.17.0-py3-none-any.whl.metadata (34 kB) 2026-04-02 12:44:58.630199 | ubuntu-noble | Collecting stevedore>=5.6.0 (from cliff>=2.8.0->stestr) 2026-04-02 12:44:58.633088 | ubuntu-noble | Downloading stevedore-5.7.0-py3-none-any.whl.metadata (2.4 kB) 2026-04-02 12:44:58.666757 | ubuntu-noble | Collecting pyperclip>=1.8.2 (from cmd2>=1.0.0->cliff>=2.8.0->stestr) 2026-04-02 12:44:58.671358 | ubuntu-noble | Downloading pyperclip-1.11.0-py3-none-any.whl.metadata (2.4 kB) 2026-04-02 12:44:58.731987 | ubuntu-noble | Collecting rich>=14.3.0 (from cmd2>=1.0.0->cliff>=2.8.0->stestr) 2026-04-02 12:44:58.735401 | ubuntu-noble | Downloading rich-14.3.3-py3-none-any.whl.metadata (18 kB) 2026-04-02 12:44:58.771491 | ubuntu-noble | Collecting rich-argparse>=1.7.1 (from cmd2>=1.0.0->cliff>=2.8.0->stestr) 2026-04-02 12:44:58.775193 | ubuntu-noble | Downloading rich_argparse-1.7.2-py3-none-any.whl.metadata (14 kB) 2026-04-02 12:44:58.818713 | ubuntu-noble | Collecting wcwidth (from PrettyTable>=0.7.2->cliff>=2.8.0->stestr) 2026-04-02 12:44:58.823384 | ubuntu-noble | Downloading wcwidth-0.6.0-py3-none-any.whl.metadata (30 kB) 2026-04-02 12:44:58.860503 | ubuntu-noble | Collecting iso8601 (from python-subunit>=1.4.0->stestr) 2026-04-02 12:44:58.864317 | ubuntu-noble | Downloading iso8601-2.1.0-py3-none-any.whl.metadata (3.7 kB) 2026-04-02 12:44:58.901186 | ubuntu-noble | Collecting markdown-it-py>=2.2.0 (from rich>=14.3.0->cmd2>=1.0.0->cliff>=2.8.0->stestr) 2026-04-02 12:44:58.905381 | ubuntu-noble | Downloading markdown_it_py-4.0.0-py3-none-any.whl.metadata (7.3 kB) 2026-04-02 12:44:58.944152 | ubuntu-noble | Collecting mdurl~=0.1 (from markdown-it-py>=2.2.0->rich>=14.3.0->cmd2>=1.0.0->cliff>=2.8.0->stestr) 2026-04-02 12:44:58.947091 | ubuntu-noble | Downloading mdurl-0.1.2-py3-none-any.whl.metadata (1.6 kB) 2026-04-02 12:44:58.968481 | ubuntu-noble | Downloading fixtures-4.3.2-py3-none-any.whl (41 kB) 2026-04-02 12:44:58.981382 | ubuntu-noble | Downloading lark-1.3.1-py3-none-any.whl (113 kB) 2026-04-02 12:44:58.996348 | ubuntu-noble | Downloading oslotest-6.1.0-py3-none-any.whl (30 kB) 2026-04-02 12:44:59.009382 | ubuntu-noble | Downloading pytest-9.0.2-py3-none-any.whl (374 kB) 2026-04-02 12:44:59.027548 | ubuntu-noble | Using cached pluggy-1.6.0-py3-none-any.whl (20 kB) 2026-04-02 12:44:59.031736 | ubuntu-noble | Downloading pytest_mock-3.15.1-py3-none-any.whl (10 kB) 2026-04-02 12:44:59.042545 | ubuntu-noble | Downloading responses-0.26.0-py3-none-any.whl (35 kB) 2026-04-02 12:44:59.054505 | ubuntu-noble | Downloading requests-2.33.1-py3-none-any.whl (64 kB) 2026-04-02 12:44:59.067569 | ubuntu-noble | Downloading charset_normalizer-3.4.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (216 kB) 2026-04-02 12:44:59.084708 | ubuntu-noble | Downloading idna-3.11-py3-none-any.whl (71 kB) 2026-04-02 12:44:59.097604 | ubuntu-noble | Downloading urllib3-2.6.3-py3-none-any.whl (131 kB) 2026-04-02 12:44:59.117379 | ubuntu-noble | Downloading stestr-4.2.1-py3-none-any.whl (118 kB) 2026-04-02 12:44:59.129752 | ubuntu-noble | Downloading certifi-2026.2.25-py3-none-any.whl (153 kB) 2026-04-02 12:44:59.145226 | ubuntu-noble | Downloading cliff-4.13.2-py3-none-any.whl (86 kB) 2026-04-02 12:44:59.160263 | ubuntu-noble | Downloading autopage-0.6.0-py3-none-any.whl (30 kB) 2026-04-02 12:44:59.176834 | ubuntu-noble | Downloading cmd2-3.4.0-py3-none-any.whl (148 kB) 2026-04-02 12:44:59.190402 | ubuntu-noble | Downloading iniconfig-2.3.0-py3-none-any.whl (7.5 kB) 2026-04-02 12:44:59.199983 | ubuntu-noble | Using cached packaging-26.0-py3-none-any.whl (74 kB) 2026-04-02 12:44:59.203694 | ubuntu-noble | Downloading prettytable-3.17.0-py3-none-any.whl (34 kB) 2026-04-02 12:44:59.219476 | ubuntu-noble | Downloading pygments-2.20.0-py3-none-any.whl (1.2 MB) 2026-04-02 12:44:59.242619 | ubuntu-noble | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 55.4 MB/s 0:00:00 2026-04-02 12:44:59.246131 | ubuntu-noble | Downloading pyperclip-1.11.0-py3-none-any.whl (11 kB) 2026-04-02 12:44:59.261243 | ubuntu-noble | Downloading python_subunit-1.4.5-py3-none-any.whl (102 kB) 2026-04-02 12:44:59.276976 | ubuntu-noble | Downloading pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (807 kB) 2026-04-02 12:44:59.297206 | ubuntu-noble | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 807.9/807.9 kB 40.0 MB/s 0:00:00 2026-04-02 12:44:59.303486 | ubuntu-noble | Downloading rich-14.3.3-py3-none-any.whl (310 kB) 2026-04-02 12:44:59.325376 | ubuntu-noble | Downloading markdown_it_py-4.0.0-py3-none-any.whl (87 kB) 2026-04-02 12:44:59.342025 | ubuntu-noble | Downloading mdurl-0.1.2-py3-none-any.whl (10.0 kB) 2026-04-02 12:44:59.354789 | ubuntu-noble | Downloading rich_argparse-1.7.2-py3-none-any.whl (25 kB) 2026-04-02 12:44:59.370784 | ubuntu-noble | Downloading stevedore-5.7.0-py3-none-any.whl (54 kB) 2026-04-02 12:44:59.389763 | ubuntu-noble | Downloading testtools-2.8.7-py3-none-any.whl (109 kB) 2026-04-02 12:44:59.404521 | ubuntu-noble | Downloading tomlkit-0.14.0-py3-none-any.whl (39 kB) 2026-04-02 12:44:59.417981 | ubuntu-noble | Downloading voluptuous-0.16.0-py3-none-any.whl (31 kB) 2026-04-02 12:44:59.428766 | ubuntu-noble | Downloading iso8601-2.1.0-py3-none-any.whl (7.5 kB) 2026-04-02 12:44:59.441579 | ubuntu-noble | Downloading wcwidth-0.6.0-py3-none-any.whl (94 kB) 2026-04-02 12:44:59.540084 | ubuntu-noble | Installing collected packages: pyperclip, wcwidth, voluptuous, urllib3, tomlkit, testtools, stevedore, pyyaml, pygments, pluggy, packaging, mdurl, lark, iso8601, iniconfig, idna, fixtures, charset_normalizer, certifi, autopage, requests, python-subunit, pytest, PrettyTable, oslotest, markdown-it-py, rich, responses, pytest-mock, rich-argparse, cmd2, cliff, stestr 2026-04-02 12:45:02.278996 | ubuntu-noble | 2026-04-02 12:45:02.282719 | ubuntu-noble | Successfully installed PrettyTable-3.17.0 autopage-0.6.0 certifi-2026.2.25 charset_normalizer-3.4.7 cliff-4.13.2 cmd2-3.4.0 fixtures-4.3.2 idna-3.11 iniconfig-2.3.0 iso8601-2.1.0 lark-1.3.1 markdown-it-py-4.0.0 mdurl-0.1.2 oslotest-6.1.0 packaging-26.0 pluggy-1.6.0 pygments-2.20.0 pyperclip-1.11.0 pytest-9.0.2 pytest-mock-3.15.1 python-subunit-1.4.5 pyyaml-6.0.3 requests-2.33.1 responses-0.26.0 rich-14.3.3 rich-argparse-1.7.2 stestr-4.2.1 stevedore-5.7.0 testtools-2.8.7 tomlkit-0.14.0 urllib3-2.6.3 voluptuous-0.16.0 wcwidth-0.6.0 2026-04-02 12:45:02.404886 | ubuntu-noble | unit: 6658 I exit 0 (6.13 seconds) /home/zuul/src/github.com/vexxhost/magnum-cluster-api> python -I -m pip install fixtures lark oslotest pytest pytest-mock responses stestr pid=6452 [tox/execute/api.py:311] 2026-04-02 12:45:02.413291 | ubuntu-noble | .pkg: 6666 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65] 2026-04-02 12:45:02.413902 | ubuntu-noble | .pkg: 6667 I find interpreter for spec PythonSpec(path=/home/zuul/.local/tox/bin/python3) [python_discovery/_discovery.py:62] 2026-04-02 12:45:02.414152 | ubuntu-noble | .pkg: 6667 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Mar 3 2026, 12:15:18) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:71] 2026-04-02 12:45:02.414269 | ubuntu-noble | .pkg: 6667 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Mar 3 2026, 12:15:18) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:75] 2026-04-02 12:45:02.415458 | ubuntu-noble | .pkg: 6668 I create virtual environment via CPython3Posix(dest=/home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg, clear=False, no_vcs_ignore=False, global=False) [virtualenv/run/session.py:77] 2026-04-02 12:45:02.415678 | ubuntu-noble | .pkg: 6669 D create folder /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg/bin [virtualenv/util/path/_sync.py:18] 2026-04-02 12:45:02.415794 | ubuntu-noble | .pkg: 6669 D create folder /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg/include [virtualenv/util/path/_sync.py:18] 2026-04-02 12:45:02.415902 | ubuntu-noble | .pkg: 6669 D create folder /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg/lib/python3.12/site-packages [virtualenv/util/path/_sync.py:18] 2026-04-02 12:45:02.416112 | ubuntu-noble | .pkg: 6669 D write /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg/pyvenv.cfg [virtualenv/create/pyenv_cfg.py:41] 2026-04-02 12:45:02.416164 | ubuntu-noble | .pkg: 6669 D home = /usr/bin [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 12:45:02.416206 | ubuntu-noble | .pkg: 6669 D implementation = CPython [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 12:45:02.416249 | ubuntu-noble | .pkg: 6669 D version_info = 3.12.3.final.0 [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 12:45:02.416344 | ubuntu-noble | .pkg: 6669 D version = 3.12.3 [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 12:45:02.416358 | ubuntu-noble | .pkg: 6669 D executable = /usr/bin/python3.12 [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 12:45:02.416394 | ubuntu-noble | .pkg: 6669 D command = /home/zuul/.local/tox/bin/python3 -m virtualenv /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 12:45:02.416436 | ubuntu-noble | .pkg: 6669 D virtualenv = 21.2.0 [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 12:45:02.416477 | ubuntu-noble | .pkg: 6669 D include-system-site-packages = false [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 12:45:02.416519 | ubuntu-noble | .pkg: 6669 D base-prefix = /usr [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 12:45:02.416562 | ubuntu-noble | .pkg: 6670 D base-exec-prefix = /usr [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 12:45:02.416604 | ubuntu-noble | .pkg: 6670 D base-executable = /usr/bin/python3.12 [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 12:45:02.416774 | ubuntu-noble | .pkg: 6670 D symlink /usr/bin/python3.12 to /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg/bin/python [virtualenv/util/path/_sync.py:38] 2026-04-02 12:45:02.417090 | ubuntu-noble | .pkg: 6670 D create virtualenv import hook file /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg/lib/python3.12/site-packages/_virtualenv.pth [virtualenv/create/via_global_ref/api.py:118] 2026-04-02 12:45:02.417206 | ubuntu-noble | .pkg: 6670 D create /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg/lib/python3.12/site-packages/_virtualenv.py [virtualenv/create/via_global_ref/api.py:121] 2026-04-02 12:45:02.417497 | ubuntu-noble | .pkg: 6670 D ============================== target debug ============================== [virtualenv/run/session.py:79] 2026-04-02 12:45:02.417621 | ubuntu-noble | .pkg: 6671 D debug via /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg/bin/python /home/zuul/.local/tox/lib/python3.12/site-packages/virtualenv/create/debug.py [virtualenv/create/creator.py:263] 2026-04-02 12:45:02.457085 | ubuntu-noble | .pkg: 6670 D { 2026-04-02 12:45:02.457123 | ubuntu-noble | "sys": { 2026-04-02 12:45:02.457133 | ubuntu-noble | "executable": "/home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg/bin/python", 2026-04-02 12:45:02.457142 | ubuntu-noble | "_base_executable": "/usr/bin/python3.12", 2026-04-02 12:45:02.457151 | ubuntu-noble | "prefix": "/home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg", 2026-04-02 12:45:02.457160 | ubuntu-noble | "base_prefix": "/usr", 2026-04-02 12:45:02.457170 | ubuntu-noble | "real_prefix": null, 2026-04-02 12:45:02.457178 | ubuntu-noble | "exec_prefix": "/home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg", 2026-04-02 12:45:02.457187 | ubuntu-noble | "base_exec_prefix": "/usr", 2026-04-02 12:45:02.457196 | ubuntu-noble | "path": [ 2026-04-02 12:45:02.457204 | ubuntu-noble | "/usr/lib/python312.zip", 2026-04-02 12:45:02.457213 | ubuntu-noble | "/usr/lib/python3.12", 2026-04-02 12:45:02.457221 | ubuntu-noble | "/usr/lib/python3.12/lib-dynload", 2026-04-02 12:45:02.457230 | ubuntu-noble | "/home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg/lib/python3.12/site-packages" 2026-04-02 12:45:02.457239 | ubuntu-noble | ], 2026-04-02 12:45:02.457248 | ubuntu-noble | "meta_path": [ 2026-04-02 12:45:02.457256 | ubuntu-noble | "", 2026-04-02 12:45:02.457265 | ubuntu-noble | "", 2026-04-02 12:45:02.457273 | ubuntu-noble | "", 2026-04-02 12:45:02.457282 | ubuntu-noble | "" 2026-04-02 12:45:02.457290 | ubuntu-noble | ], 2026-04-02 12:45:02.457299 | ubuntu-noble | "fs_encoding": "utf-8", 2026-04-02 12:45:02.457307 | ubuntu-noble | "io_encoding": "utf-8" 2026-04-02 12:45:02.457316 | ubuntu-noble | }, 2026-04-02 12:45:02.457324 | ubuntu-noble | "version": "3.12.3 (main, Mar 3 2026, 12:15:18) [GCC 13.3.0]", 2026-04-02 12:45:02.457333 | ubuntu-noble | "makefile_filename": "/usr/lib/python3.12/config-3.12-x86_64-linux-gnu/Makefile", 2026-04-02 12:45:02.457341 | ubuntu-noble | "os": "", 2026-04-02 12:45:02.457349 | ubuntu-noble | "site": "", 2026-04-02 12:45:02.457358 | ubuntu-noble | "datetime": "", 2026-04-02 12:45:02.457366 | ubuntu-noble | "math": "", 2026-04-02 12:45:02.457375 | ubuntu-noble | "json": "" 2026-04-02 12:45:02.457383 | ubuntu-noble | } [virtualenv/run/session.py:80] 2026-04-02 12:45:02.457397 | ubuntu-noble | .pkg: 6710 I add seed packages via FromAppData(download=False, pip=bundle, via=copy, app_data_dir=/home/zuul/.cache/virtualenv) [virtualenv/run/session.py:84] 2026-04-02 12:45:02.459723 | ubuntu-noble | .pkg: 6712 D install pip from wheel /home/zuul/.local/tox/lib/python3.12/site-packages/virtualenv/seed/wheels/embed/pip-26.0.1-py3-none-any.whl via CopyPipInstall [virtualenv/seed/embed/via_app_data/via_app_data.py:65] 2026-04-02 12:45:02.462260 | ubuntu-noble | .pkg: 6715 D copy directory /home/zuul/.cache/virtualenv/wheel/3.12/image/1/CopyPipInstall/pip-26.0.1-py3-none-any/pip to /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg/lib/python3.12/site-packages/pip [virtualenv/util/path/_sync.py:46] 2026-04-02 12:45:02.520252 | ubuntu-noble | .pkg: 6773 D copy directory /home/zuul/.cache/virtualenv/wheel/3.12/image/1/CopyPipInstall/pip-26.0.1-py3-none-any/pip-26.0.1.dist-info to /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg/lib/python3.12/site-packages/pip-26.0.1.dist-info [virtualenv/util/path/_sync.py:46] 2026-04-02 12:45:02.525258 | ubuntu-noble | .pkg: 6778 D copy /home/zuul/.cache/virtualenv/wheel/3.12/image/1/CopyPipInstall/pip-26.0.1-py3-none-any/pip-26.0.1.virtualenv to /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg/lib/python3.12/site-packages/pip-26.0.1.virtualenv [virtualenv/util/path/_sync.py:46] 2026-04-02 12:45:02.526128 | ubuntu-noble | .pkg: 6779 D generated console scripts pip-3.12 pip3.12 pip3 pip [virtualenv/seed/embed/via_app_data/pip_install/base.py:49] 2026-04-02 12:45:02.526533 | ubuntu-noble | .pkg: 6779 I add activators for Bash, CShell, Fish, Nushell, PowerShell, Python [virtualenv/run/session.py:90] 2026-04-02 12:45:02.530611 | ubuntu-noble | .pkg: 6783 D write /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg/pyvenv.cfg [virtualenv/create/pyenv_cfg.py:41] 2026-04-02 12:45:02.530701 | ubuntu-noble | .pkg: 6784 D home = /usr/bin [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 12:45:02.530813 | ubuntu-noble | .pkg: 6784 D implementation = CPython [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 12:45:02.530970 | ubuntu-noble | .pkg: 6784 D version_info = 3.12.3.final.0 [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 12:45:02.531048 | ubuntu-noble | .pkg: 6784 D version = 3.12.3 [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 12:45:02.531130 | ubuntu-noble | .pkg: 6784 D executable = /usr/bin/python3.12 [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 12:45:02.531257 | ubuntu-noble | .pkg: 6784 D command = /home/zuul/.local/tox/bin/python3 -m virtualenv /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 12:45:02.531346 | ubuntu-noble | .pkg: 6784 D virtualenv = 21.2.0 [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 12:45:02.531455 | ubuntu-noble | .pkg: 6784 D include-system-site-packages = false [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 12:45:02.531561 | ubuntu-noble | .pkg: 6784 D base-prefix = /usr [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 12:45:02.531654 | ubuntu-noble | .pkg: 6785 D base-exec-prefix = /usr [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 12:45:02.531817 | ubuntu-noble | .pkg: 6785 D base-executable = /usr/bin/python3.12 [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 12:45:02.534227 | ubuntu-noble | .pkg: 6787 W install_requires> python -I -m pip install 'maturin<2.0,>=1.0' [tox/tox_env/api.py:515] 2026-04-02 12:45:03.646959 | ubuntu-noble | Collecting maturin<2.0,>=1.0 2026-04-02 12:45:03.738833 | ubuntu-noble | Downloading maturin-1.12.6-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl.metadata (16 kB) 2026-04-02 12:45:03.765317 | ubuntu-noble | Downloading maturin-1.12.6-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl (10.2 MB) 2026-04-02 12:45:04.211073 | ubuntu-noble | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.2/10.2 MB 24.8 MB/s 0:00:00 2026-04-02 12:45:04.230362 | ubuntu-noble | Installing collected packages: maturin 2026-04-02 12:45:04.382010 | ubuntu-noble | Successfully installed maturin-1.12.6 2026-04-02 12:45:04.482787 | ubuntu-noble | .pkg: 8735 I exit 0 (1.95 seconds) /home/zuul/src/github.com/vexxhost/magnum-cluster-api> python -I -m pip install 'maturin<2.0,>=1.0' pid=6595 [tox/execute/api.py:311] 2026-04-02 12:45:04.484782 | ubuntu-noble | .pkg: 8738 W _optional_hooks> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True maturin [tox/tox_env/api.py:515] 2026-04-02 12:45:04.539231 | ubuntu-noble | Backend: run command _optional_hooks with args {} 2026-04-02 12:45:04.539334 | ubuntu-noble | Backend: Wrote response {'return': {'get_requires_for_build_sdist': True, 'prepare_metadata_for_build_wheel': True, 'get_requires_for_build_wheel': True, 'build_editable': True, 'get_requires_for_build_editable': True, 'prepare_metadata_for_build_editable': True}} to /tmp/pep517__optional_hooks-fmihjrhk.json 2026-04-02 12:45:04.541333 | ubuntu-noble | .pkg: 8794 I exit None (0.05 seconds) /home/zuul/src/github.com/vexxhost/magnum-cluster-api> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True maturin pid=6634 [tox/execute/api.py:311] 2026-04-02 12:45:04.542382 | ubuntu-noble | .pkg: 8795 W get_requires_for_build_sdist> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True maturin [tox/tox_env/api.py:515] 2026-04-02 12:45:04.544568 | ubuntu-noble | Backend: run command get_requires_for_build_sdist with args {'config_settings': None} 2026-04-02 12:45:04.544659 | ubuntu-noble | Backend: Wrote response {'return': []} to /tmp/pep517_get_requires_for_build_sdist-albepq3a.json 2026-04-02 12:45:04.546883 | ubuntu-noble | .pkg: 8800 I exit None (0.00 seconds) /home/zuul/src/github.com/vexxhost/magnum-cluster-api> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True maturin pid=6634 [tox/execute/api.py:311] 2026-04-02 12:45:04.548720 | ubuntu-noble | .pkg: 8802 W build_sdist> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True maturin [tox/tox_env/api.py:515] 2026-04-02 12:45:04.549973 | ubuntu-noble | Backend: run command build_sdist with args {'sdist_directory': '/home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg/dist', 'config_settings': None} 2026-04-02 12:45:04.549994 | ubuntu-noble | Running `maturin pep517 write-sdist --sdist-directory /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg/dist` 2026-04-02 12:45:04.742438 | ubuntu-noble | 📦 Including license file `LICENSE` 2026-04-02 12:45:04.742726 | ubuntu-noble | 🍹 Building a mixed python/rust project 2026-04-02 12:45:04.743539 | ubuntu-noble | 🔗 Found pyo3 bindings with abi3 support 2026-04-02 12:45:04.799835 | ubuntu-noble | 📡 Using build options features from pyproject.toml 2026-04-02 12:45:04.974714 | ubuntu-noble | From `cargo package --list --allow-dirty --manifest-path /home/zuul/src/github.com/vexxhost/magnum-cluster-api/crates/helm/Cargo.toml`: 2026-04-02 12:45:04.974791 | ubuntu-noble | warning: manifest has no description, license, license-file, documentation, homepage or repository 2026-04-02 12:45:04.974803 | ubuntu-noble | | 2026-04-02 12:45:04.974812 | ubuntu-noble | = note: see https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for more info 2026-04-02 12:45:05.085814 | ubuntu-noble | From `cargo package --list --allow-dirty --manifest-path /home/zuul/src/github.com/vexxhost/magnum-cluster-api/crates/serde_gtmpl/Cargo.toml`: 2026-04-02 12:45:05.086420 | ubuntu-noble | warning: manifest has no description, license, license-file, documentation, homepage or repository 2026-04-02 12:45:05.086428 | ubuntu-noble | | 2026-04-02 12:45:05.086434 | ubuntu-noble | = note: see https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for more info 2026-04-02 12:45:05.182442 | ubuntu-noble | From `cargo package --list --allow-dirty --manifest-path /home/zuul/src/github.com/vexxhost/magnum-cluster-api/crates/cluster_feature_derive/Cargo.toml`: 2026-04-02 12:45:05.182514 | ubuntu-noble | warning: manifest has no description, license, license-file, documentation, homepage or repository 2026-04-02 12:45:05.182525 | ubuntu-noble | | 2026-04-02 12:45:05.182551 | ubuntu-noble | = note: see https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for more info 2026-04-02 12:45:05.308721 | ubuntu-noble | From `cargo package --list --allow-dirty --manifest-path /home/zuul/src/github.com/vexxhost/magnum-cluster-api/Cargo.toml`: 2026-04-02 12:45:05.308823 | ubuntu-noble | warning: manifest has no description, license, license-file, documentation, homepage or repository 2026-04-02 12:45:05.308834 | ubuntu-noble | | 2026-04-02 12:45:05.308848 | ubuntu-noble | = note: see https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for more info 2026-04-02 12:45:05.546564 | ubuntu-noble | 📦 Built source distribution to /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg/dist/magnum_cluster_api-0.36.1.tar.gz 2026-04-02 12:45:05.551006 | ubuntu-noble | magnum_cluster_api-0.36.1.tar.gz 2026-04-02 12:45:05.551396 | ubuntu-noble | Backend: Wrote response {'return': 'magnum_cluster_api-0.36.1.tar.gz'} to /tmp/pep517_build_sdist-sibr53oh.json 2026-04-02 12:45:05.555491 | ubuntu-noble | .pkg: 9808 I exit None (1.00 seconds) /home/zuul/src/github.com/vexxhost/magnum-cluster-api> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True maturin pid=6634 [tox/execute/api.py:311] 2026-04-02 12:45:05.562413 | ubuntu-noble | .pkg: 9815 D package .tmp/package/1/magnum_cluster_api-0.36.1.tar.gz copied to .pkg/dist/magnum_cluster_api-0.36.1.tar.gz (/home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox) [tox/util/file_view.py:30] 2026-04-02 12:45:05.563374 | ubuntu-noble | unit: 9816 W install_package_deps> python -I -m pip install certifi 'click>=8.0.4' 'diskcache>=5.6.1' 'eventlet>=0.33.1' 'haproxyadmin>=0.2.4' 'kubernetes>=24.2.0' 'magnum>=15.0.0' 'oslo.concurrency>=4.5.0' 'oslo.config>=8.8.0' 'oslo.context>=4.1.0' 'oslo.log>=4.7.0' 'oslo.privsep>=2.7.0' 'oslo.service>=2.8.0' 'platformdirs>=2.4.0' pykube-ng 'pyroute2>=0.3.4' python-heatclient 'python-manilaclient>=3.3.2' 'requests>=2.27.1' 'semver>=2.0.0' 'sherlock>=0.4.1' shortuuid [tox/tox_env/api.py:515] 2026-04-02 12:45:05.951808 | ubuntu-noble | Requirement already satisfied: certifi in ./.tox/unit/lib/python3.12/site-packages (2026.2.25) 2026-04-02 12:45:06.053316 | ubuntu-noble | Collecting click>=8.0.4 2026-04-02 12:45:06.145193 | ubuntu-noble | Downloading click-8.3.1-py3-none-any.whl.metadata (2.6 kB) 2026-04-02 12:45:06.186732 | ubuntu-noble | Collecting diskcache>=5.6.1 2026-04-02 12:45:06.196639 | ubuntu-noble | Downloading diskcache-5.6.3-py3-none-any.whl.metadata (20 kB) 2026-04-02 12:45:06.248162 | ubuntu-noble | Collecting eventlet>=0.33.1 2026-04-02 12:45:06.259603 | ubuntu-noble | Downloading eventlet-0.41.0-py3-none-any.whl.metadata (5.4 kB) 2026-04-02 12:45:06.285605 | ubuntu-noble | Collecting haproxyadmin>=0.2.4 2026-04-02 12:45:06.296177 | ubuntu-noble | Downloading haproxyadmin-0.2.4.tar.gz (59 kB) 2026-04-02 12:45:06.349258 | ubuntu-noble | Installing build dependencies: started 2026-04-02 12:45:07.312925 | ubuntu-noble | Installing build dependencies: finished with status 'done' 2026-04-02 12:45:07.313548 | ubuntu-noble | Getting requirements to build wheel: started 2026-04-02 12:45:07.618708 | ubuntu-noble | Getting requirements to build wheel: finished with status 'done' 2026-04-02 12:45:07.620780 | ubuntu-noble | Installing backend dependencies: started 2026-04-02 12:45:09.101384 | ubuntu-noble | Installing backend dependencies: finished with status 'done' 2026-04-02 12:45:09.102884 | ubuntu-noble | Preparing metadata (pyproject.toml): started 2026-04-02 12:45:09.366099 | ubuntu-noble | Preparing metadata (pyproject.toml): finished with status 'done' 2026-04-02 12:45:09.410473 | ubuntu-noble | Collecting kubernetes>=24.2.0 2026-04-02 12:45:09.420831 | ubuntu-noble | Downloading kubernetes-35.0.0-py2.py3-none-any.whl.metadata (1.7 kB) 2026-04-02 12:45:09.488867 | ubuntu-noble | Collecting magnum>=15.0.0 2026-04-02 12:45:09.522830 | ubuntu-noble | Downloading magnum-22.0.0-py3-none-any.whl.metadata (4.7 kB) 2026-04-02 12:45:09.566435 | ubuntu-noble | Collecting oslo.concurrency>=4.5.0 2026-04-02 12:45:09.576384 | ubuntu-noble | Downloading oslo_concurrency-7.4.0-py3-none-any.whl.metadata (2.2 kB) 2026-04-02 12:45:09.620540 | ubuntu-noble | Collecting oslo.config>=8.8.0 2026-04-02 12:45:09.630726 | ubuntu-noble | Downloading oslo_config-10.3.0-py3-none-any.whl.metadata (2.3 kB) 2026-04-02 12:45:09.669504 | ubuntu-noble | Collecting oslo.context>=4.1.0 2026-04-02 12:45:09.680049 | ubuntu-noble | Downloading oslo_context-6.3.0-py3-none-any.whl.metadata (2.3 kB) 2026-04-02 12:45:09.763984 | ubuntu-noble | Collecting oslo.log>=4.7.0 2026-04-02 12:45:09.775883 | ubuntu-noble | Downloading oslo_log-8.1.0-py3-none-any.whl.metadata (2.5 kB) 2026-04-02 12:45:09.927128 | ubuntu-noble | Collecting oslo.privsep>=2.7.0 2026-04-02 12:45:09.938356 | ubuntu-noble | Downloading oslo_privsep-3.10.1-py3-none-any.whl.metadata (2.7 kB) 2026-04-02 12:45:09.984061 | ubuntu-noble | Collecting oslo.service>=2.8.0 2026-04-02 12:45:09.994236 | ubuntu-noble | Downloading oslo_service-4.5.1-py3-none-any.whl.metadata (2.8 kB) 2026-04-02 12:45:10.028525 | ubuntu-noble | Collecting platformdirs>=2.4.0 2026-04-02 12:45:10.029544 | ubuntu-noble | Using cached platformdirs-4.9.4-py3-none-any.whl.metadata (4.7 kB) 2026-04-02 12:45:10.051473 | ubuntu-noble | Collecting pykube-ng 2026-04-02 12:45:10.062588 | ubuntu-noble | Downloading pykube_ng-23.6.0-py3-none-any.whl.metadata (8.0 kB) 2026-04-02 12:45:10.095679 | ubuntu-noble | Collecting pyroute2>=0.3.4 2026-04-02 12:45:10.106662 | ubuntu-noble | Downloading pyroute2-0.9.5-py3-none-any.whl.metadata (8.8 kB) 2026-04-02 12:45:10.151566 | ubuntu-noble | Collecting python-heatclient 2026-04-02 12:45:10.162901 | ubuntu-noble | Downloading python_heatclient-5.1.0-py3-none-any.whl.metadata (3.1 kB) 2026-04-02 12:45:10.206311 | ubuntu-noble | Collecting python-manilaclient>=3.3.2 2026-04-02 12:45:10.219016 | ubuntu-noble | Downloading python_manilaclient-6.0.0-py3-none-any.whl.metadata (5.5 kB) 2026-04-02 12:45:10.231203 | ubuntu-noble | Requirement already satisfied: requests>=2.27.1 in ./.tox/unit/lib/python3.12/site-packages (2.33.1) 2026-04-02 12:45:10.254449 | ubuntu-noble | Collecting semver>=2.0.0 2026-04-02 12:45:10.264428 | ubuntu-noble | Downloading semver-3.0.4-py3-none-any.whl.metadata (6.8 kB) 2026-04-02 12:45:10.289107 | ubuntu-noble | Collecting sherlock>=0.4.1 2026-04-02 12:45:10.299761 | ubuntu-noble | Downloading sherlock-0.4.1-py3-none-any.whl.metadata (8.9 kB) 2026-04-02 12:45:10.331627 | ubuntu-noble | Collecting shortuuid 2026-04-02 12:45:10.342774 | ubuntu-noble | Downloading shortuuid-1.0.13-py3-none-any.whl.metadata (5.8 kB) 2026-04-02 12:45:10.376803 | ubuntu-noble | Collecting dnspython>=1.15.0 (from eventlet>=0.33.1) 2026-04-02 12:45:10.386486 | ubuntu-noble | Downloading dnspython-2.8.0-py3-none-any.whl.metadata (5.7 kB) 2026-04-02 12:45:10.550120 | ubuntu-noble | Collecting greenlet>=1.0 (from eventlet>=0.33.1) 2026-04-02 12:45:10.560052 | ubuntu-noble | Downloading greenlet-3.3.2-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.metadata (3.7 kB) 2026-04-02 12:45:10.589442 | ubuntu-noble | Collecting six (from haproxyadmin>=0.2.4) 2026-04-02 12:45:10.598803 | ubuntu-noble | Downloading six-1.17.0-py2.py3-none-any.whl.metadata (1.7 kB) 2026-04-02 12:45:10.634332 | ubuntu-noble | Collecting python-dateutil>=2.5.3 (from kubernetes>=24.2.0) 2026-04-02 12:45:10.643671 | ubuntu-noble | Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl.metadata (8.4 kB) 2026-04-02 12:45:10.655719 | ubuntu-noble | Requirement already satisfied: pyyaml>=5.4.1 in ./.tox/unit/lib/python3.12/site-packages (from kubernetes>=24.2.0) (6.0.3) 2026-04-02 12:45:10.686779 | ubuntu-noble | Collecting websocket-client!=0.40.0,!=0.41.*,!=0.42.*,>=0.32.0 (from kubernetes>=24.2.0) 2026-04-02 12:45:10.696276 | ubuntu-noble | Downloading websocket_client-1.9.0-py3-none-any.whl.metadata (8.3 kB) 2026-04-02 12:45:10.733347 | ubuntu-noble | Collecting requests-oauthlib (from kubernetes>=24.2.0) 2026-04-02 12:45:10.744237 | ubuntu-noble | Downloading requests_oauthlib-2.0.0-py2.py3-none-any.whl.metadata (11 kB) 2026-04-02 12:45:10.755380 | ubuntu-noble | Requirement already satisfied: urllib3!=2.6.0,>=1.24.2 in ./.tox/unit/lib/python3.12/site-packages (from kubernetes>=24.2.0) (2.6.3) 2026-04-02 12:45:10.770565 | ubuntu-noble | Collecting durationpy>=0.7 (from kubernetes>=24.2.0) 2026-04-02 12:45:10.780583 | ubuntu-noble | Downloading durationpy-0.10-py3-none-any.whl.metadata (340 bytes) 2026-04-02 12:45:11.092046 | ubuntu-noble | Collecting SQLAlchemy>=1.2.0 (from magnum>=15.0.0) 2026-04-02 12:45:11.102836 | ubuntu-noble | Downloading sqlalchemy-2.0.48-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (9.5 kB) 2026-04-02 12:45:11.143055 | ubuntu-noble | Collecting WSME>=0.8.0 (from magnum>=15.0.0) 2026-04-02 12:45:11.153758 | ubuntu-noble | Downloading WSME-0.12.1-py3-none-any.whl.metadata (3.7 kB) 2026-04-02 12:45:11.184074 | ubuntu-noble | Collecting WebOb>=1.8.1 (from magnum>=15.0.0) 2026-04-02 12:45:11.194699 | ubuntu-noble | Downloading WebOb-1.8.9-py2.py3-none-any.whl.metadata (11 kB) 2026-04-02 12:45:11.236550 | ubuntu-noble | Collecting alembic>=0.9.6 (from magnum>=15.0.0) 2026-04-02 12:45:11.245524 | ubuntu-noble | Downloading alembic-1.18.4-py3-none-any.whl.metadata (7.2 kB) 2026-04-02 12:45:11.256657 | ubuntu-noble | Requirement already satisfied: cliff>=4.0.0 in ./.tox/unit/lib/python3.12/site-packages (from magnum>=15.0.0) (4.13.2) 2026-04-02 12:45:11.277424 | ubuntu-noble | Collecting decorator>=3.4.0 (from magnum>=15.0.0) 2026-04-02 12:45:11.287749 | ubuntu-noble | Downloading decorator-5.2.1-py3-none-any.whl.metadata (3.9 kB) 2026-04-02 12:45:11.317443 | ubuntu-noble | Collecting jsonpatch!=1.20,>=1.16 (from magnum>=15.0.0) 2026-04-02 12:45:11.327182 | ubuntu-noble | Downloading jsonpatch-1.33-py2.py3-none-any.whl.metadata (3.0 kB) 2026-04-02 12:45:11.365828 | ubuntu-noble | Collecting keystoneauth1>=3.14.0 (from magnum>=15.0.0) 2026-04-02 12:45:11.376729 | ubuntu-noble | Downloading keystoneauth1-5.13.1-py3-none-any.whl.metadata (2.9 kB) 2026-04-02 12:45:11.410568 | ubuntu-noble | Collecting keystonemiddleware>=9.0.0 (from magnum>=15.0.0) 2026-04-02 12:45:11.421949 | ubuntu-noble | Downloading keystonemiddleware-12.0.0-py3-none-any.whl.metadata (4.1 kB) 2026-04-02 12:45:11.459014 | ubuntu-noble | Collecting netaddr>=0.7.18 (from magnum>=15.0.0) 2026-04-02 12:45:11.470641 | ubuntu-noble | Downloading netaddr-1.3.0-py3-none-any.whl.metadata (5.0 kB) 2026-04-02 12:45:11.567319 | ubuntu-noble | Collecting oslo.db>=8.2.0 (from magnum>=15.0.0) 2026-04-02 12:45:11.577784 | ubuntu-noble | Downloading oslo_db-18.0.0-py3-none-any.whl.metadata (2.5 kB) 2026-04-02 12:45:11.608096 | ubuntu-noble | Collecting oslo.i18n>=5.0.0 (from magnum>=15.0.0) 2026-04-02 12:45:11.618044 | ubuntu-noble | Downloading oslo_i18n-6.7.2-py3-none-any.whl.metadata (2.0 kB) 2026-04-02 12:45:11.671325 | ubuntu-noble | Collecting oslo.messaging>=14.1.0 (from magnum>=15.0.0) 2026-04-02 12:45:11.684345 | ubuntu-noble | Downloading oslo_messaging-17.3.0-py3-none-any.whl.metadata (2.6 kB) 2026-04-02 12:45:11.729417 | ubuntu-noble | Collecting oslo.middleware>=4.1.0 (from magnum>=15.0.0) 2026-04-02 12:45:11.740018 | ubuntu-noble | Downloading oslo_middleware-8.0.0-py3-none-any.whl.metadata (2.4 kB) 2026-04-02 12:45:11.782783 | ubuntu-noble | Collecting oslo.policy>=4.5.0 (from magnum>=15.0.0) 2026-04-02 12:45:11.814032 | ubuntu-noble | Downloading oslo_policy-5.0.0-py3-none-any.whl.metadata (2.2 kB) 2026-04-02 12:45:11.849921 | ubuntu-noble | Collecting oslo.reports>=2.1.0 (from magnum>=15.0.0) 2026-04-02 12:45:11.860652 | ubuntu-noble | Downloading oslo_reports-3.7.0-py3-none-any.whl.metadata (3.8 kB) 2026-04-02 12:45:11.895339 | ubuntu-noble | Collecting oslo.serialization>=3.2.0 (from magnum>=15.0.0) 2026-04-02 12:45:11.905054 | ubuntu-noble | Downloading oslo_serialization-5.9.1-py3-none-any.whl.metadata (2.1 kB) 2026-04-02 12:45:11.938833 | ubuntu-noble | Collecting oslo.upgradecheck>=1.3.0 (from magnum>=15.0.0) 2026-04-02 12:45:11.948259 | ubuntu-noble | Downloading oslo_upgradecheck-2.7.1-py3-none-any.whl.metadata (1.8 kB) 2026-04-02 12:45:11.992259 | ubuntu-noble | Collecting oslo.utils>=4.2.0 (from magnum>=15.0.0) 2026-04-02 12:45:12.002378 | ubuntu-noble | Downloading oslo_utils-10.0.0-py3-none-any.whl.metadata (2.1 kB) 2026-04-02 12:45:12.035819 | ubuntu-noble | Collecting oslo.versionedobjects>=2.1.0 (from magnum>=15.0.0) 2026-04-02 12:45:12.046767 | ubuntu-noble | Downloading oslo_versionedobjects-3.9.0-py3-none-any.whl.metadata (2.5 kB) 2026-04-02 12:45:12.081115 | ubuntu-noble | Collecting pbr>=5.5.0 (from magnum>=15.0.0) 2026-04-02 12:45:12.082037 | ubuntu-noble | Using cached pbr-7.0.3-py2.py3-none-any.whl.metadata (3.8 kB) 2026-04-02 12:45:12.102733 | ubuntu-noble | Collecting pecan>=1.3.3 (from magnum>=15.0.0) 2026-04-02 12:45:12.114780 | ubuntu-noble | Downloading pecan-1.8.0-py3-none-any.whl.metadata (1.6 kB) 2026-04-02 12:45:12.143071 | ubuntu-noble | Collecting pycadf!=2.0.0,>=1.1.0 (from magnum>=15.0.0) 2026-04-02 12:45:12.368641 | ubuntu-noble | Downloading pycadf-4.0.1-py3-none-any.whl.metadata (2.2 kB) 2026-04-02 12:45:12.398828 | ubuntu-noble | Collecting python-barbicanclient>=5.0.0 (from magnum>=15.0.0) 2026-04-02 12:45:12.410813 | ubuntu-noble | Downloading python_barbicanclient-7.3.0-py3-none-any.whl.metadata (11 kB) 2026-04-02 12:45:12.448769 | ubuntu-noble | Collecting python-cinderclient>=7.1.0 (from magnum>=15.0.0) 2026-04-02 12:45:12.459195 | ubuntu-noble | Downloading python_cinderclient-9.9.0-py3-none-any.whl.metadata (19 kB) 2026-04-02 12:45:12.499525 | ubuntu-noble | Collecting python-glanceclient>=3.2.0 (from magnum>=15.0.0) 2026-04-02 12:45:12.509577 | ubuntu-noble | Downloading python_glanceclient-4.11.0-py3-none-any.whl.metadata (4.0 kB) 2026-04-02 12:45:12.554014 | ubuntu-noble | Collecting python-neutronclient>=7.2.0 (from magnum>=15.0.0) 2026-04-02 12:45:12.564297 | ubuntu-noble | Downloading python_neutronclient-11.8.0-py3-none-any.whl.metadata (3.5 kB) 2026-04-02 12:45:12.605331 | ubuntu-noble | Collecting python-novaclient>=17.2.0 (from magnum>=15.0.0) 2026-04-02 12:45:12.615562 | ubuntu-noble | Downloading python_novaclient-18.12.0-py3-none-any.whl.metadata (3.2 kB) 2026-04-02 12:45:12.652924 | ubuntu-noble | Collecting python-keystoneclient>=3.20.0 (from magnum>=15.0.0) 2026-04-02 12:45:12.663845 | ubuntu-noble | Downloading python_keystoneclient-5.8.0-py3-none-any.whl.metadata (3.8 kB) 2026-04-02 12:45:12.694242 | ubuntu-noble | Collecting python-octaviaclient>=2.1.0 (from magnum>=15.0.0) 2026-04-02 12:45:12.705016 | ubuntu-noble | Downloading python_octaviaclient-3.13.0-py3-none-any.whl.metadata (3.0 kB) 2026-04-02 12:45:12.837135 | ubuntu-noble | Collecting setuptools!=34.0.0,!=34.0.1,!=34.0.2,!=34.0.3,!=34.1.0,!=34.1.1,!=34.2.0,!=34.3.0,!=34.3.1,!=34.3.2,!=36.2.0,>=30.0.0 (from magnum>=15.0.0) 2026-04-02 12:45:12.838266 | ubuntu-noble | Using cached setuptools-82.0.1-py3-none-any.whl.metadata (6.5 kB) 2026-04-02 12:45:12.845242 | ubuntu-noble | Requirement already satisfied: stevedore>=3.3.0 in ./.tox/unit/lib/python3.12/site-packages (from magnum>=15.0.0) (5.7.0) 2026-04-02 12:45:12.876376 | ubuntu-noble | Collecting taskflow>=2.16.0 (from magnum>=15.0.0) 2026-04-02 12:45:12.888959 | ubuntu-noble | Downloading taskflow-6.2.0-py3-none-any.whl.metadata (4.5 kB) 2026-04-02 12:45:13.104539 | ubuntu-noble | Collecting cryptography>=2.1.4 (from magnum>=15.0.0) 2026-04-02 12:45:13.114144 | ubuntu-noble | Downloading cryptography-46.0.6-cp311-abi3-manylinux_2_34_x86_64.whl.metadata (5.7 kB) 2026-04-02 12:45:13.159892 | ubuntu-noble | Collecting Werkzeug>=0.9 (from magnum>=15.0.0) 2026-04-02 12:45:13.170891 | ubuntu-noble | Downloading werkzeug-3.1.7-py3-none-any.whl.metadata (4.0 kB) 2026-04-02 12:45:13.210759 | ubuntu-noble | Collecting fasteners>=0.7.0 (from oslo.concurrency>=4.5.0) 2026-04-02 12:45:13.221625 | ubuntu-noble | Downloading fasteners-0.20-py3-none-any.whl.metadata (4.8 kB) 2026-04-02 12:45:13.252438 | ubuntu-noble | Collecting debtcollector>=3.0.0 (from oslo.concurrency>=4.5.0) 2026-04-02 12:45:13.263040 | ubuntu-noble | Downloading debtcollector-3.1.0-py3-none-any.whl.metadata (2.6 kB) 2026-04-02 12:45:13.289900 | ubuntu-noble | Collecting rfc3986>=1.2.0 (from oslo.config>=8.8.0) 2026-04-02 12:45:13.299627 | ubuntu-noble | Downloading rfc3986-2.0.0-py2.py3-none-any.whl.metadata (6.6 kB) 2026-04-02 12:45:13.333460 | ubuntu-noble | Collecting typing-extensions>=4.12.0 (from oslo.context>=4.1.0) 2026-04-02 12:45:13.342635 | ubuntu-noble | Downloading typing_extensions-4.15.0-py3-none-any.whl.metadata (3.3 kB) 2026-04-02 12:45:13.548619 | ubuntu-noble | Collecting cffi>=1.14.0 (from oslo.privsep>=2.7.0) 2026-04-02 12:45:13.558363 | ubuntu-noble | Downloading cffi-2.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (2.6 kB) 2026-04-02 12:45:13.649617 | ubuntu-noble | Collecting msgpack>=0.6.0 (from oslo.privsep>=2.7.0) 2026-04-02 12:45:13.660239 | ubuntu-noble | Downloading msgpack-1.1.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (8.1 kB) 2026-04-02 12:45:13.708712 | ubuntu-noble | Collecting PasteDeploy>=1.5.0 (from oslo.service>=2.8.0) 2026-04-02 12:45:13.719235 | ubuntu-noble | Downloading PasteDeploy-3.1.0-py3-none-any.whl.metadata (2.7 kB) 2026-04-02 12:45:13.747063 | ubuntu-noble | Collecting Routes>=2.3.1 (from oslo.service>=2.8.0) 2026-04-02 12:45:13.756887 | ubuntu-noble | Downloading Routes-2.5.1-py2.py3-none-any.whl.metadata (25 kB) 2026-04-02 12:45:13.791138 | ubuntu-noble | Collecting Paste>=2.0.2 (from oslo.service>=2.8.0) 2026-04-02 12:45:13.800928 | ubuntu-noble | Downloading Paste-3.10.1-py3-none-any.whl.metadata (5.3 kB) 2026-04-02 12:45:13.856332 | ubuntu-noble | Collecting Yappi>=1.0 (from oslo.service>=2.8.0) 2026-04-02 12:45:13.866787 | ubuntu-noble | Downloading yappi-1.7.6-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (11 kB) 2026-04-02 12:45:13.885196 | ubuntu-noble | Requirement already satisfied: iso8601>=0.1.11 in ./.tox/unit/lib/python3.12/site-packages (from python-heatclient) (2.1.0) 2026-04-02 12:45:13.910561 | ubuntu-noble | Collecting osc-lib>=1.14.0 (from python-heatclient) 2026-04-02 12:45:13.921624 | ubuntu-noble | Downloading osc_lib-4.4.0-py3-none-any.whl.metadata (3.8 kB) 2026-04-02 12:45:13.934103 | ubuntu-noble | Requirement already satisfied: PrettyTable>=0.7.2 in ./.tox/unit/lib/python3.12/site-packages (from python-heatclient) (3.17.0) 2026-04-02 12:45:13.967099 | ubuntu-noble | Collecting python-swiftclient>=3.2.0 (from python-heatclient) 2026-04-02 12:45:13.977881 | ubuntu-noble | Downloading python_swiftclient-4.10.0-py3-none-any.whl.metadata (3.9 kB) 2026-04-02 12:45:14.004207 | ubuntu-noble | Requirement already satisfied: charset_normalizer<4,>=2 in ./.tox/unit/lib/python3.12/site-packages (from requests>=2.27.1) (3.4.7) 2026-04-02 12:45:14.004663 | ubuntu-noble | Requirement already satisfied: idna<4,>=2.5 in ./.tox/unit/lib/python3.12/site-packages (from requests>=2.27.1) (3.11) 2026-04-02 12:45:14.043805 | ubuntu-noble | Collecting Mako (from alembic>=0.9.6->magnum>=15.0.0) 2026-04-02 12:45:14.052985 | ubuntu-noble | Downloading mako-1.3.10-py3-none-any.whl.metadata (2.9 kB) 2026-04-02 12:45:14.080296 | ubuntu-noble | Collecting pycparser (from cffi>=1.14.0->oslo.privsep>=2.7.0) 2026-04-02 12:45:14.090620 | ubuntu-noble | Downloading pycparser-3.0-py3-none-any.whl.metadata (8.2 kB) 2026-04-02 12:45:14.104768 | ubuntu-noble | Requirement already satisfied: autopage>=0.4.0 in ./.tox/unit/lib/python3.12/site-packages (from cliff>=4.0.0->magnum>=15.0.0) (0.6.0) 2026-04-02 12:45:14.105508 | ubuntu-noble | Requirement already satisfied: cmd2>=1.0.0 in ./.tox/unit/lib/python3.12/site-packages (from cliff>=4.0.0->magnum>=15.0.0) (3.4.0) 2026-04-02 12:45:14.111891 | ubuntu-noble | Requirement already satisfied: pyperclip>=1.8.2 in ./.tox/unit/lib/python3.12/site-packages (from cmd2>=1.0.0->cliff>=4.0.0->magnum>=15.0.0) (1.11.0) 2026-04-02 12:45:14.112704 | ubuntu-noble | Requirement already satisfied: rich>=14.3.0 in ./.tox/unit/lib/python3.12/site-packages (from cmd2>=1.0.0->cliff>=4.0.0->magnum>=15.0.0) (14.3.3) 2026-04-02 12:45:14.113497 | ubuntu-noble | Requirement already satisfied: rich-argparse>=1.7.1 in ./.tox/unit/lib/python3.12/site-packages (from cmd2>=1.0.0->cliff>=4.0.0->magnum>=15.0.0) (1.7.2) 2026-04-02 12:45:14.297086 | ubuntu-noble | Collecting wrapt>=2.1.0 (from debtcollector>=3.0.0->oslo.concurrency>=4.5.0) 2026-04-02 12:45:14.307349 | ubuntu-noble | Downloading wrapt-2.1.2-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.metadata (7.4 kB) 2026-04-02 12:45:14.349499 | ubuntu-noble | Collecting jsonpointer>=1.9 (from jsonpatch!=1.20,>=1.16->magnum>=15.0.0) 2026-04-02 12:45:14.358993 | ubuntu-noble | Downloading jsonpointer-3.1.1-py3-none-any.whl.metadata (2.4 kB) 2026-04-02 12:45:14.391650 | ubuntu-noble | Collecting os-service-types>=1.2.0 (from keystoneauth1>=3.14.0->magnum>=15.0.0) 2026-04-02 12:45:14.402967 | ubuntu-noble | Downloading os_service_types-1.8.2-py3-none-any.whl.metadata (1.9 kB) 2026-04-02 12:45:14.451892 | ubuntu-noble | Collecting oslo.cache>=3.11.0 (from keystonemiddleware>=9.0.0->magnum>=15.0.0) 2026-04-02 12:45:14.462720 | ubuntu-noble | Downloading oslo_cache-4.1.1-py3-none-any.whl.metadata (2.5 kB) 2026-04-02 12:45:14.501822 | ubuntu-noble | Collecting PyJWT>=2.4.0 (from keystonemiddleware>=9.0.0->magnum>=15.0.0) 2026-04-02 12:45:14.511676 | ubuntu-noble | Downloading pyjwt-2.12.1-py3-none-any.whl.metadata (4.1 kB) 2026-04-02 12:45:14.573679 | ubuntu-noble | Collecting openstacksdk>=0.15.0 (from osc-lib>=1.14.0->python-heatclient) 2026-04-02 12:45:14.584653 | ubuntu-noble | Downloading openstacksdk-4.10.0-py3-none-any.whl.metadata (12 kB) 2026-04-02 12:45:14.640905 | ubuntu-noble | Collecting dogpile.cache>=0.6.5 (from openstacksdk>=0.15.0->osc-lib>=1.14.0->python-heatclient) 2026-04-02 12:45:14.651895 | ubuntu-noble | Downloading dogpile_cache-1.5.0-py3-none-any.whl.metadata (5.5 kB) 2026-04-02 12:45:14.686327 | ubuntu-noble | Collecting jmespath>=0.9.0 (from openstacksdk>=0.15.0->osc-lib>=1.14.0->python-heatclient) 2026-04-02 12:45:14.696711 | ubuntu-noble | Downloading jmespath-1.1.0-py3-none-any.whl.metadata (7.6 kB) 2026-04-02 12:45:14.793001 | ubuntu-noble | Collecting psutil>=3.2.2 (from openstacksdk>=0.15.0->osc-lib>=1.14.0->python-heatclient) 2026-04-02 12:45:14.802991 | ubuntu-noble | Downloading psutil-7.2.2-cp36-abi3-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl.metadata (22 kB) 2026-04-02 12:45:14.844072 | ubuntu-noble | Collecting requestsexceptions>=1.2.0 (from openstacksdk>=0.15.0->osc-lib>=1.14.0->python-heatclient) 2026-04-02 12:45:14.855101 | ubuntu-noble | Downloading requestsexceptions-1.4.0-py2.py3-none-any.whl.metadata (1.2 kB) 2026-04-02 12:45:14.899426 | ubuntu-noble | Collecting testresources>=2.0.0 (from oslo.db>=8.2.0->magnum>=15.0.0) 2026-04-02 12:45:14.909841 | ubuntu-noble | Downloading testresources-2.0.2.tar.gz (45 kB) 2026-04-02 12:45:14.943909 | ubuntu-noble | Installing build dependencies: started 2026-04-02 12:45:15.662235 | ubuntu-noble | Installing build dependencies: finished with status 'done' 2026-04-02 12:45:15.663350 | ubuntu-noble | Getting requirements to build wheel: started 2026-04-02 12:45:15.961776 | ubuntu-noble | Getting requirements to build wheel: finished with status 'done' 2026-04-02 12:45:15.963313 | ubuntu-noble | Installing backend dependencies: started 2026-04-02 12:45:16.801284 | ubuntu-noble | Installing backend dependencies: finished with status 'done' 2026-04-02 12:45:16.802881 | ubuntu-noble | Preparing metadata (pyproject.toml): started 2026-04-02 12:45:17.062179 | ubuntu-noble | Preparing metadata (pyproject.toml): finished with status 'done' 2026-04-02 12:45:17.085636 | ubuntu-noble | Collecting testscenarios>=0.4 (from oslo.db>=8.2.0->magnum>=15.0.0) 2026-04-02 12:45:17.097028 | ubuntu-noble | Downloading testscenarios-0.5.0-py2.py3-none-any.whl.metadata (12 kB) 2026-04-02 12:45:17.143060 | ubuntu-noble | Collecting futurist>=1.2.0 (from oslo.messaging>=14.1.0->magnum>=15.0.0) 2026-04-02 12:45:17.153216 | ubuntu-noble | Downloading futurist-3.3.0-py3-none-any.whl.metadata (2.1 kB) 2026-04-02 12:45:17.199258 | ubuntu-noble | Collecting cachetools>=2.0.0 (from oslo.messaging>=14.1.0->magnum>=15.0.0) 2026-04-02 12:45:17.200286 | ubuntu-noble | Using cached cachetools-7.0.5-py3-none-any.whl.metadata (5.6 kB) 2026-04-02 12:45:17.225416 | ubuntu-noble | Collecting amqp>=2.5.2 (from oslo.messaging>=14.1.0->magnum>=15.0.0) 2026-04-02 12:45:17.235588 | ubuntu-noble | Downloading amqp-5.3.1-py3-none-any.whl.metadata (8.9 kB) 2026-04-02 12:45:17.285067 | ubuntu-noble | Collecting kombu>=4.6.8 (from oslo.messaging>=14.1.0->magnum>=15.0.0) 2026-04-02 12:45:17.294466 | ubuntu-noble | Downloading kombu-5.6.2-py3-none-any.whl.metadata (3.5 kB) 2026-04-02 12:45:17.333717 | ubuntu-noble | Collecting oslo.metrics>=0.2.1 (from oslo.messaging>=14.1.0->magnum>=15.0.0) 2026-04-02 12:45:17.345167 | ubuntu-noble | Downloading oslo_metrics-0.15.1-py3-none-any.whl.metadata (1.5 kB) 2026-04-02 12:45:17.370630 | ubuntu-noble | Collecting vine<6.0.0,>=5.0.0 (from amqp>=2.5.2->oslo.messaging>=14.1.0->magnum>=15.0.0) 2026-04-02 12:45:17.380045 | ubuntu-noble | Downloading vine-5.1.0-py3-none-any.whl.metadata (2.7 kB) 2026-04-02 12:45:17.428028 | ubuntu-noble | Collecting tzdata>=2025.2 (from kombu>=4.6.8->oslo.messaging>=14.1.0->magnum>=15.0.0) 2026-04-02 12:45:17.437921 | ubuntu-noble | Downloading tzdata-2025.3-py2.py3-none-any.whl.metadata (1.4 kB) 2026-04-02 12:45:17.447695 | ubuntu-noble | Requirement already satisfied: packaging in ./.tox/unit/lib/python3.12/site-packages (from kombu>=4.6.8->oslo.messaging>=14.1.0->magnum>=15.0.0) (26.0) 2026-04-02 12:45:17.487260 | ubuntu-noble | Collecting prometheus-client>=0.6.0 (from oslo.metrics>=0.2.1->oslo.messaging>=14.1.0->magnum>=15.0.0) 2026-04-02 12:45:17.497027 | ubuntu-noble | Downloading prometheus_client-0.24.1-py3-none-any.whl.metadata (2.1 kB) 2026-04-02 12:45:17.645526 | ubuntu-noble | Collecting bcrypt>=3.1.3 (from oslo.middleware>=4.1.0->magnum>=15.0.0) 2026-04-02 12:45:17.655229 | ubuntu-noble | Downloading bcrypt-5.0.0-cp39-abi3-manylinux_2_34_x86_64.whl.metadata (10 kB) 2026-04-02 12:45:17.694354 | ubuntu-noble | Collecting Jinja2>=2.10 (from oslo.middleware>=4.1.0->magnum>=15.0.0) 2026-04-02 12:45:17.704587 | ubuntu-noble | Downloading jinja2-3.1.6-py3-none-any.whl.metadata (2.9 kB) 2026-04-02 12:45:17.733102 | ubuntu-noble | Collecting statsd>=3.2.1 (from oslo.middleware>=4.1.0->magnum>=15.0.0) 2026-04-02 12:45:17.744695 | ubuntu-noble | Downloading statsd-4.0.1-py2.py3-none-any.whl.metadata (2.9 kB) 2026-04-02 12:45:17.843696 | ubuntu-noble | Collecting MarkupSafe>=2.0 (from Jinja2>=2.10->oslo.middleware>=4.1.0->magnum>=15.0.0) 2026-04-02 12:45:17.853255 | ubuntu-noble | Downloading markupsafe-3.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (2.7 kB) 2026-04-02 12:45:18.018882 | ubuntu-noble | Collecting pyparsing>=2.1.0 (from oslo.utils>=4.2.0->magnum>=15.0.0) 2026-04-02 12:45:18.028677 | ubuntu-noble | Downloading pyparsing-3.3.2-py3-none-any.whl.metadata (5.8 kB) 2026-04-02 12:45:18.089105 | ubuntu-noble | Requirement already satisfied: wcwidth in ./.tox/unit/lib/python3.12/site-packages (from PrettyTable>=0.7.2->python-heatclient) (0.6.0) 2026-04-02 12:45:18.179694 | ubuntu-noble | Collecting warlock>=1.2.0 (from python-glanceclient>=3.2.0->magnum>=15.0.0) 2026-04-02 12:45:18.191483 | ubuntu-noble | Downloading warlock-2.1.0-py3-none-any.whl.metadata (4.0 kB) 2026-04-02 12:45:18.324420 | ubuntu-noble | Collecting pyOpenSSL>=17.1.0 (from python-glanceclient>=3.2.0->magnum>=15.0.0) 2026-04-02 12:45:18.334287 | ubuntu-noble | Downloading pyopenssl-26.0.0-py3-none-any.whl.metadata (18 kB) 2026-04-02 12:45:18.464430 | ubuntu-noble | Collecting python-openstackclient>=3.12.0 (from python-octaviaclient>=2.1.0->magnum>=15.0.0) 2026-04-02 12:45:18.475177 | ubuntu-noble | Downloading python_openstackclient-9.0.0-py3-none-any.whl.metadata (10 kB) 2026-04-02 12:45:18.533502 | ubuntu-noble | Requirement already satisfied: markdown-it-py>=2.2.0 in ./.tox/unit/lib/python3.12/site-packages (from rich>=14.3.0->cmd2>=1.0.0->cliff>=4.0.0->magnum>=15.0.0) (4.0.0) 2026-04-02 12:45:18.534165 | ubuntu-noble | Requirement already satisfied: pygments<3.0.0,>=2.13.0 in ./.tox/unit/lib/python3.12/site-packages (from rich>=14.3.0->cmd2>=1.0.0->cliff>=4.0.0->magnum>=15.0.0) (2.20.0) 2026-04-02 12:45:18.538111 | ubuntu-noble | Requirement already satisfied: mdurl~=0.1 in ./.tox/unit/lib/python3.12/site-packages (from markdown-it-py>=2.2.0->rich>=14.3.0->cmd2>=1.0.0->cliff>=4.0.0->magnum>=15.0.0) (0.1.2) 2026-04-02 12:45:18.577572 | ubuntu-noble | Collecting repoze.lru>=0.3 (from Routes>=2.3.1->oslo.service>=2.8.0) 2026-04-02 12:45:18.588545 | ubuntu-noble | Downloading repoze.lru-0.7-py3-none-any.whl.metadata (1.1 kB) 2026-04-02 12:45:18.685640 | ubuntu-noble | Collecting networkx>=2.1.0 (from taskflow>=2.16.0->magnum>=15.0.0) 2026-04-02 12:45:18.696809 | ubuntu-noble | Downloading networkx-3.6.1-py3-none-any.whl.metadata (6.8 kB) 2026-04-02 12:45:18.787091 | ubuntu-noble | Collecting jsonschema>=3.2.0 (from taskflow>=2.16.0->magnum>=15.0.0) 2026-04-02 12:45:18.796389 | ubuntu-noble | Downloading jsonschema-4.26.0-py3-none-any.whl.metadata (7.6 kB) 2026-04-02 12:45:18.886960 | ubuntu-noble | Collecting automaton>=1.9.0 (from taskflow>=2.16.0->magnum>=15.0.0) 2026-04-02 12:45:18.897087 | ubuntu-noble | Downloading automaton-3.4.0-py3-none-any.whl.metadata (2.3 kB) 2026-04-02 12:45:19.001195 | ubuntu-noble | Collecting tenacity>=6.0.0 (from taskflow>=2.16.0->magnum>=15.0.0) 2026-04-02 12:45:19.010588 | ubuntu-noble | Downloading tenacity-9.1.4-py3-none-any.whl.metadata (1.2 kB) 2026-04-02 12:45:19.115818 | ubuntu-noble | Collecting pydot>=1.2.4 (from taskflow>=2.16.0->magnum>=15.0.0) 2026-04-02 12:45:19.130535 | ubuntu-noble | Downloading pydot-4.0.1-py3-none-any.whl.metadata (11 kB) 2026-04-02 12:45:19.275331 | ubuntu-noble | Collecting attrs>=22.2.0 (from jsonschema>=3.2.0->taskflow>=2.16.0->magnum>=15.0.0) 2026-04-02 12:45:19.284211 | ubuntu-noble | Downloading attrs-26.1.0-py3-none-any.whl.metadata (8.8 kB) 2026-04-02 12:45:19.362569 | ubuntu-noble | Collecting jsonschema-specifications>=2023.03.6 (from jsonschema>=3.2.0->taskflow>=2.16.0->magnum>=15.0.0) 2026-04-02 12:45:19.372671 | ubuntu-noble | Downloading jsonschema_specifications-2025.9.1-py3-none-any.whl.metadata (2.9 kB) 2026-04-02 12:45:19.416885 | ubuntu-noble | Collecting referencing>=0.28.4 (from jsonschema>=3.2.0->taskflow>=2.16.0->magnum>=15.0.0) 2026-04-02 12:45:19.426086 | ubuntu-noble | Downloading referencing-0.37.0-py3-none-any.whl.metadata (2.8 kB) 2026-04-02 12:45:19.717352 | ubuntu-noble | Collecting rpds-py>=0.25.0 (from jsonschema>=3.2.0->taskflow>=2.16.0->magnum>=15.0.0) 2026-04-02 12:45:19.726822 | ubuntu-noble | Downloading rpds_py-0.30.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.1 kB) 2026-04-02 12:45:19.762132 | ubuntu-noble | Requirement already satisfied: testtools in ./.tox/unit/lib/python3.12/site-packages (from testscenarios>=0.4->oslo.db>=8.2.0->magnum>=15.0.0) (2.8.7) 2026-04-02 12:45:19.801369 | ubuntu-noble | Collecting simplegeneric (from WSME>=0.8.0->magnum>=15.0.0) 2026-04-02 12:45:19.812214 | ubuntu-noble | Downloading simplegeneric-0.8.1.zip (12 kB) 2026-04-02 12:45:19.826708 | ubuntu-noble | Installing build dependencies: started 2026-04-02 12:45:21.270834 | ubuntu-noble | Installing build dependencies: finished with status 'done' 2026-04-02 12:45:21.271863 | ubuntu-noble | Getting requirements to build wheel: started 2026-04-02 12:45:21.615575 | ubuntu-noble | Getting requirements to build wheel: finished with status 'done' 2026-04-02 12:45:21.616886 | ubuntu-noble | Preparing metadata (pyproject.toml): started 2026-04-02 12:45:21.798540 | ubuntu-noble | Preparing metadata (pyproject.toml): finished with status 'done' 2026-04-02 12:45:21.924677 | ubuntu-noble | Collecting pytz (from WSME>=0.8.0->magnum>=15.0.0) 2026-04-02 12:45:21.933719 | ubuntu-noble | Downloading pytz-2026.1.post1-py2.py3-none-any.whl.metadata (22 kB) 2026-04-02 12:45:21.986241 | ubuntu-noble | Collecting importlib-metadata>=4.4 (from WSME>=0.8.0->magnum>=15.0.0) 2026-04-02 12:45:21.995893 | ubuntu-noble | Downloading importlib_metadata-9.0.0-py3-none-any.whl.metadata (4.5 kB) 2026-04-02 12:45:22.032286 | ubuntu-noble | Collecting zipp>=3.20 (from importlib-metadata>=4.4->WSME>=0.8.0->magnum>=15.0.0) 2026-04-02 12:45:22.041472 | ubuntu-noble | Downloading zipp-3.23.0-py3-none-any.whl.metadata (3.6 kB) 2026-04-02 12:45:22.092005 | ubuntu-noble | Collecting oauthlib>=3.0.0 (from requests-oauthlib->kubernetes>=24.2.0) 2026-04-02 12:45:22.102571 | ubuntu-noble | Downloading oauthlib-3.3.1-py3-none-any.whl.metadata (7.9 kB) 2026-04-02 12:45:22.140781 | ubuntu-noble | Downloading click-8.3.1-py3-none-any.whl (108 kB) 2026-04-02 12:45:22.177287 | ubuntu-noble | Downloading diskcache-5.6.3-py3-none-any.whl (45 kB) 2026-04-02 12:45:22.200079 | ubuntu-noble | Downloading eventlet-0.41.0-py3-none-any.whl (364 kB) 2026-04-02 12:45:22.277315 | ubuntu-noble | Downloading kubernetes-35.0.0-py2.py3-none-any.whl (2.0 MB) 2026-04-02 12:45:22.442188 | ubuntu-noble | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.0/2.0 MB 13.3 MB/s 0:00:00 2026-04-02 12:45:22.454069 | ubuntu-noble | Downloading magnum-22.0.0-py3-none-any.whl (763 kB) 2026-04-02 12:45:22.502191 | ubuntu-noble | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 763.5/763.5 kB 14.6 MB/s 0:00:00 2026-04-02 12:45:22.512013 | ubuntu-noble | Downloading oslo_concurrency-7.4.0-py3-none-any.whl (48 kB) 2026-04-02 12:45:22.534308 | ubuntu-noble | Downloading oslo_config-10.3.0-py3-none-any.whl (132 kB) 2026-04-02 12:45:22.558727 | ubuntu-noble | Downloading oslo_context-6.3.0-py3-none-any.whl (20 kB) 2026-04-02 12:45:22.577304 | ubuntu-noble | Downloading oslo_log-8.1.0-py3-none-any.whl (77 kB) 2026-04-02 12:45:22.601027 | ubuntu-noble | Downloading oslo_privsep-3.10.1-py3-none-any.whl (41 kB) 2026-04-02 12:45:22.621612 | ubuntu-noble | Downloading oslo_service-4.5.1-py3-none-any.whl (114 kB) 2026-04-02 12:45:22.640114 | ubuntu-noble | Using cached platformdirs-4.9.4-py3-none-any.whl (21 kB) 2026-04-02 12:45:22.651185 | ubuntu-noble | Downloading pykube_ng-23.6.0-py3-none-any.whl (26 kB) 2026-04-02 12:45:22.670991 | ubuntu-noble | Downloading pyroute2-0.9.5-py3-none-any.whl (480 kB) 2026-04-02 12:45:22.717681 | ubuntu-noble | Downloading python_heatclient-5.1.0-py3-none-any.whl (212 kB) 2026-04-02 12:45:22.746747 | ubuntu-noble | Downloading python_manilaclient-6.0.0-py3-none-any.whl (410 kB) 2026-04-02 12:45:22.782717 | ubuntu-noble | Downloading semver-3.0.4-py3-none-any.whl (17 kB) 2026-04-02 12:45:22.804268 | ubuntu-noble | Downloading sherlock-0.4.1-py3-none-any.whl (16 kB) 2026-04-02 12:45:22.822206 | ubuntu-noble | Downloading shortuuid-1.0.13-py3-none-any.whl (10 kB) 2026-04-02 12:45:22.842904 | ubuntu-noble | Downloading alembic-1.18.4-py3-none-any.whl (263 kB) 2026-04-02 12:45:22.877025 | ubuntu-noble | Downloading cffi-2.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (219 kB) 2026-04-02 12:45:22.904618 | ubuntu-noble | Downloading cryptography-46.0.6-cp311-abi3-manylinux_2_34_x86_64.whl (4.5 MB) 2026-04-02 12:45:23.122262 | ubuntu-noble | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.5/4.5 MB 20.6 MB/s 0:00:00 2026-04-02 12:45:23.134822 | ubuntu-noble | Downloading debtcollector-3.1.0-py3-none-any.whl (24 kB) 2026-04-02 12:45:23.155376 | ubuntu-noble | Downloading decorator-5.2.1-py3-none-any.whl (9.2 kB) 2026-04-02 12:45:23.175511 | ubuntu-noble | Downloading dnspython-2.8.0-py3-none-any.whl (331 kB) 2026-04-02 12:45:23.203039 | ubuntu-noble | Downloading durationpy-0.10-py3-none-any.whl (3.9 kB) 2026-04-02 12:45:23.223285 | ubuntu-noble | Downloading fasteners-0.20-py3-none-any.whl (18 kB) 2026-04-02 12:45:23.245515 | ubuntu-noble | Downloading greenlet-3.3.2-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (613 kB) 2026-04-02 12:45:23.272258 | ubuntu-noble | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 613.9/613.9 kB 17.1 MB/s 0:00:00 2026-04-02 12:45:23.282458 | ubuntu-noble | Downloading jsonpatch-1.33-py2.py3-none-any.whl (12 kB) 2026-04-02 12:45:23.301679 | ubuntu-noble | Downloading jsonpointer-3.1.1-py3-none-any.whl (7.7 kB) 2026-04-02 12:45:23.321246 | ubuntu-noble | Downloading keystoneauth1-5.13.1-py3-none-any.whl (343 kB) 2026-04-02 12:45:23.351029 | ubuntu-noble | Downloading keystonemiddleware-12.0.0-py3-none-any.whl (141 kB) 2026-04-02 12:45:23.372656 | ubuntu-noble | Downloading msgpack-1.1.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (427 kB) 2026-04-02 12:45:23.400787 | ubuntu-noble | Downloading netaddr-1.3.0-py3-none-any.whl (2.3 MB) 2026-04-02 12:45:23.466896 | ubuntu-noble | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.3/2.3 MB 33.7 MB/s 0:00:00 2026-04-02 12:45:23.476910 | ubuntu-noble | Downloading os_service_types-1.8.2-py3-none-any.whl (24 kB) 2026-04-02 12:45:23.497456 | ubuntu-noble | Downloading osc_lib-4.4.0-py3-none-any.whl (96 kB) 2026-04-02 12:45:23.519140 | ubuntu-noble | Downloading openstacksdk-4.10.0-py3-none-any.whl (1.9 MB) 2026-04-02 12:45:23.585004 | ubuntu-noble | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.9/1.9 MB 28.0 MB/s 0:00:00 2026-04-02 12:45:23.595911 | ubuntu-noble | Downloading dogpile_cache-1.5.0-py3-none-any.whl (64 kB) 2026-04-02 12:45:23.616141 | ubuntu-noble | Downloading jmespath-1.1.0-py3-none-any.whl (20 kB) 2026-04-02 12:45:23.637420 | ubuntu-noble | Downloading oslo_cache-4.1.1-py3-none-any.whl (65 kB) 2026-04-02 12:45:23.659306 | ubuntu-noble | Downloading oslo_db-18.0.0-py3-none-any.whl (152 kB) 2026-04-02 12:45:23.680996 | ubuntu-noble | Downloading oslo_i18n-6.7.2-py3-none-any.whl (47 kB) 2026-04-02 12:45:23.702759 | ubuntu-noble | Downloading oslo_messaging-17.3.0-py3-none-any.whl (201 kB) 2026-04-02 12:45:23.727461 | ubuntu-noble | Downloading amqp-5.3.1-py3-none-any.whl (50 kB) 2026-04-02 12:45:23.750545 | ubuntu-noble | Downloading vine-5.1.0-py3-none-any.whl (9.6 kB) 2026-04-02 12:45:23.760727 | ubuntu-noble | Using cached cachetools-7.0.5-py3-none-any.whl (13 kB) 2026-04-02 12:45:23.771931 | ubuntu-noble | Downloading futurist-3.3.0-py3-none-any.whl (43 kB) 2026-04-02 12:45:23.792642 | ubuntu-noble | Downloading kombu-5.6.2-py3-none-any.whl (214 kB) 2026-04-02 12:45:23.816506 | ubuntu-noble | Downloading oslo_metrics-0.15.1-py3-none-any.whl (14 kB) 2026-04-02 12:45:23.837787 | ubuntu-noble | Downloading oslo_middleware-8.0.0-py3-none-any.whl (65 kB) 2026-04-02 12:45:23.862200 | ubuntu-noble | Downloading bcrypt-5.0.0-cp39-abi3-manylinux_2_34_x86_64.whl (278 kB) 2026-04-02 12:45:23.888510 | ubuntu-noble | Downloading jinja2-3.1.6-py3-none-any.whl (134 kB) 2026-04-02 12:45:23.909694 | ubuntu-noble | Downloading markupsafe-3.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (22 kB) 2026-04-02 12:45:23.931367 | ubuntu-noble | Downloading oslo_policy-5.0.0-py3-none-any.whl (89 kB) 2026-04-02 12:45:23.953313 | ubuntu-noble | Downloading oslo_reports-3.7.0-py3-none-any.whl (53 kB) 2026-04-02 12:45:23.972027 | ubuntu-noble | Downloading oslo_serialization-5.9.1-py3-none-any.whl (27 kB) 2026-04-02 12:45:23.993740 | ubuntu-noble | Downloading oslo_upgradecheck-2.7.1-py3-none-any.whl (14 kB) 2026-04-02 12:45:24.017221 | ubuntu-noble | Downloading oslo_utils-10.0.0-py3-none-any.whl (136 kB) 2026-04-02 12:45:24.042352 | ubuntu-noble | Downloading oslo_versionedobjects-3.9.0-py3-none-any.whl (86 kB) 2026-04-02 12:45:24.063047 | ubuntu-noble | Downloading Paste-3.10.1-py3-none-any.whl (289 kB) 2026-04-02 12:45:24.088359 | ubuntu-noble | Downloading PasteDeploy-3.1.0-py3-none-any.whl (16 kB) 2026-04-02 12:45:24.100459 | ubuntu-noble | Using cached pbr-7.0.3-py2.py3-none-any.whl (131 kB) 2026-04-02 12:45:24.111584 | ubuntu-noble | Downloading pecan-1.8.0-py3-none-any.whl (144 kB) 2026-04-02 12:45:24.133680 | ubuntu-noble | Downloading mako-1.3.10-py3-none-any.whl (78 kB) 2026-04-02 12:45:24.153543 | ubuntu-noble | Downloading prometheus_client-0.24.1-py3-none-any.whl (64 kB) 2026-04-02 12:45:24.174399 | ubuntu-noble | Downloading psutil-7.2.2-cp36-abi3-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl (155 kB) 2026-04-02 12:45:24.196300 | ubuntu-noble | Downloading pycadf-4.0.1-py3-none-any.whl (44 kB) 2026-04-02 12:45:24.216105 | ubuntu-noble | Downloading pyjwt-2.12.1-py3-none-any.whl (29 kB) 2026-04-02 12:45:24.234365 | ubuntu-noble | Downloading pyparsing-3.3.2-py3-none-any.whl (122 kB) 2026-04-02 12:45:24.261051 | ubuntu-noble | Downloading python_barbicanclient-7.3.0-py3-none-any.whl (88 kB) 2026-04-02 12:45:24.282970 | ubuntu-noble | Downloading python_cinderclient-9.9.0-py3-none-any.whl (256 kB) 2026-04-02 12:45:24.306246 | ubuntu-noble | Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB) 2026-04-02 12:45:24.331742 | ubuntu-noble | Downloading python_glanceclient-4.11.0-py3-none-any.whl (208 kB) 2026-04-02 12:45:24.354339 | ubuntu-noble | Downloading pyopenssl-26.0.0-py3-none-any.whl (57 kB) 2026-04-02 12:45:24.375285 | ubuntu-noble | Downloading python_keystoneclient-5.8.0-py3-none-any.whl (397 kB) 2026-04-02 12:45:24.399569 | ubuntu-noble | Downloading python_neutronclient-11.8.0-py3-none-any.whl (296 kB) 2026-04-02 12:45:24.424373 | ubuntu-noble | Downloading python_novaclient-18.12.0-py3-none-any.whl (336 kB) 2026-04-02 12:45:24.451881 | ubuntu-noble | Downloading python_octaviaclient-3.13.0-py3-none-any.whl (113 kB) 2026-04-02 12:45:24.473060 | ubuntu-noble | Downloading python_openstackclient-9.0.0-py3-none-any.whl (1.1 MB) 2026-04-02 12:45:24.500820 | ubuntu-noble | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 38.7 MB/s 0:00:00 2026-04-02 12:45:24.513189 | ubuntu-noble | Downloading python_swiftclient-4.10.0-py3-none-any.whl (88 kB) 2026-04-02 12:45:24.538065 | ubuntu-noble | Downloading requestsexceptions-1.4.0-py2.py3-none-any.whl (3.8 kB) 2026-04-02 12:45:24.557998 | ubuntu-noble | Downloading rfc3986-2.0.0-py2.py3-none-any.whl (31 kB) 2026-04-02 12:45:24.581741 | ubuntu-noble | Downloading Routes-2.5.1-py2.py3-none-any.whl (40 kB) 2026-04-02 12:45:24.601461 | ubuntu-noble | Downloading repoze.lru-0.7-py3-none-any.whl (10 kB) 2026-04-02 12:45:24.614519 | ubuntu-noble | Using cached setuptools-82.0.1-py3-none-any.whl (1.0 MB) 2026-04-02 12:45:24.625701 | ubuntu-noble | Downloading six-1.17.0-py2.py3-none-any.whl (11 kB) 2026-04-02 12:45:24.646572 | ubuntu-noble | Downloading sqlalchemy-2.0.48-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (3.3 MB) 2026-04-02 12:45:24.723042 | ubuntu-noble | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.3/3.3 MB 43.9 MB/s 0:00:00 2026-04-02 12:45:24.735177 | ubuntu-noble | Downloading statsd-4.0.1-py2.py3-none-any.whl (13 kB) 2026-04-02 12:45:24.754970 | ubuntu-noble | Downloading taskflow-6.2.0-py3-none-any.whl (490 kB) 2026-04-02 12:45:24.781217 | ubuntu-noble | Downloading automaton-3.4.0-py3-none-any.whl (23 kB) 2026-04-02 12:45:24.802643 | ubuntu-noble | Downloading jsonschema-4.26.0-py3-none-any.whl (90 kB) 2026-04-02 12:45:24.823435 | ubuntu-noble | Downloading attrs-26.1.0-py3-none-any.whl (67 kB) 2026-04-02 12:45:24.844762 | ubuntu-noble | Downloading jsonschema_specifications-2025.9.1-py3-none-any.whl (18 kB) 2026-04-02 12:45:24.862536 | ubuntu-noble | Downloading networkx-3.6.1-py3-none-any.whl (2.1 MB) 2026-04-02 12:45:24.903324 | ubuntu-noble | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 55.6 MB/s 0:00:00 2026-04-02 12:45:24.914140 | ubuntu-noble | Downloading pydot-4.0.1-py3-none-any.whl (37 kB) 2026-04-02 12:45:24.960815 | ubuntu-noble | Downloading referencing-0.37.0-py3-none-any.whl (26 kB) 2026-04-02 12:45:24.993466 | ubuntu-noble | Downloading rpds_py-0.30.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (394 kB) 2026-04-02 12:45:25.021230 | ubuntu-noble | Downloading tenacity-9.1.4-py3-none-any.whl (28 kB) 2026-04-02 12:45:25.041883 | ubuntu-noble | Downloading testscenarios-0.5.0-py2.py3-none-any.whl (21 kB) 2026-04-02 12:45:25.061224 | ubuntu-noble | Downloading typing_extensions-4.15.0-py3-none-any.whl (44 kB) 2026-04-02 12:45:25.078873 | ubuntu-noble | Downloading tzdata-2025.3-py2.py3-none-any.whl (348 kB) 2026-04-02 12:45:25.105404 | ubuntu-noble | Downloading warlock-2.1.0-py3-none-any.whl (10 kB) 2026-04-02 12:45:25.145156 | ubuntu-noble | Downloading WebOb-1.8.9-py2.py3-none-any.whl (115 kB) 2026-04-02 12:45:25.165809 | ubuntu-noble | Downloading websocket_client-1.9.0-py3-none-any.whl (82 kB) 2026-04-02 12:45:25.186502 | ubuntu-noble | Downloading werkzeug-3.1.7-py3-none-any.whl (226 kB) 2026-04-02 12:45:25.210215 | ubuntu-noble | Downloading wrapt-2.1.2-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (121 kB) 2026-04-02 12:45:25.235480 | ubuntu-noble | Downloading WSME-0.12.1-py3-none-any.whl (59 kB) 2026-04-02 12:45:25.255189 | ubuntu-noble | Downloading importlib_metadata-9.0.0-py3-none-any.whl (27 kB) 2026-04-02 12:45:25.297380 | ubuntu-noble | Downloading yappi-1.7.6-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (82 kB) 2026-04-02 12:45:25.323262 | ubuntu-noble | Downloading zipp-3.23.0-py3-none-any.whl (10 kB) 2026-04-02 12:45:25.344624 | ubuntu-noble | Downloading pycparser-3.0-py3-none-any.whl (48 kB) 2026-04-02 12:45:25.369801 | ubuntu-noble | Downloading pytz-2026.1.post1-py2.py3-none-any.whl (510 kB) 2026-04-02 12:45:25.395774 | ubuntu-noble | Downloading requests_oauthlib-2.0.0-py2.py3-none-any.whl (24 kB) 2026-04-02 12:45:25.417173 | ubuntu-noble | Downloading oauthlib-3.3.1-py3-none-any.whl (160 kB) 2026-04-02 12:45:25.672490 | ubuntu-noble | Building wheels for collected packages: haproxyadmin, testresources, simplegeneric 2026-04-02 12:45:25.673392 | ubuntu-noble | Building wheel for haproxyadmin (pyproject.toml): started 2026-04-02 12:45:25.927261 | ubuntu-noble | Building wheel for haproxyadmin (pyproject.toml): finished with status 'done' 2026-04-02 12:45:25.928289 | ubuntu-noble | Created wheel for haproxyadmin: filename=haproxyadmin-0.2.4-py3-none-any.whl size=37208 sha256=d7410846da8f542b0c0f42cfc223c59e5011b67aa6e0464d5abc8af449b76f8e 2026-04-02 12:45:25.928731 | ubuntu-noble | Stored in directory: /home/zuul/.cache/pip/wheels/f8/a4/d2/ca8e7bcb86a3513744e388395fdc7c9b2d41bdffceb804f578 2026-04-02 12:45:25.934205 | ubuntu-noble | Building wheel for testresources (pyproject.toml): started 2026-04-02 12:45:26.196274 | ubuntu-noble | Building wheel for testresources (pyproject.toml): finished with status 'done' 2026-04-02 12:45:26.197219 | ubuntu-noble | Created wheel for testresources: filename=testresources-2.0.2-py2.py3-none-any.whl size=34284 sha256=f784cafc23ccb0f8a0811e697cb6cd309295e4bd0792a25dbda97ccce07085e0 2026-04-02 12:45:26.197768 | ubuntu-noble | Stored in directory: /home/zuul/.cache/pip/wheels/6f/bd/38/5f44565796c558350457d3ffee0ab83be96f3d99e262a219b9 2026-04-02 12:45:26.203353 | ubuntu-noble | Building wheel for simplegeneric (pyproject.toml): started 2026-04-02 12:45:26.441423 | ubuntu-noble | Building wheel for simplegeneric (pyproject.toml): finished with status 'done' 2026-04-02 12:45:26.442254 | ubuntu-noble | Created wheel for simplegeneric: filename=simplegeneric-0.8.1-py3-none-any.whl size=5103 sha256=62e11c549cd24042a471286c7efcb9b8f6216701eb4778b8bd2bfe84c037ee03 2026-04-02 12:45:26.442927 | ubuntu-noble | Stored in directory: /home/zuul/.cache/pip/wheels/bf/7f/ac/c96a7918d97103348ae720bdf93aa7f5458f5efb90718e9873 2026-04-02 12:45:26.446440 | ubuntu-noble | Successfully built haproxyadmin testresources simplegeneric 2026-04-02 12:45:26.654820 | ubuntu-noble | Installing collected packages: statsd, simplegeneric, requestsexceptions, repoze.lru, pytz, durationpy, zipp, Yappi, wrapt, websocket-client, WebOb, vine, tzdata, typing-extensions, tenacity, six, shortuuid, sherlock, setuptools, semver, rpds-py, rfc3986, pyroute2, pyparsing, PyJWT, pycparser, psutil, prometheus-client, platformdirs, PasteDeploy, oauthlib, networkx, netaddr, msgpack, MarkupSafe, jsonpointer, jmespath, greenlet, fasteners, dnspython, diskcache, decorator, click, cachetools, bcrypt, attrs, Werkzeug, SQLAlchemy, Routes, requests-oauthlib, referencing, python-swiftclient, python-dateutil, pykube-ng, pydot, pbr, Paste, Mako, jsonpatch, Jinja2, importlib-metadata, haproxyadmin, eventlet, dogpile.cache, debtcollector, cffi, automaton, amqp, WSME, testscenarios, testresources, pecan, oslo.i18n, oslo.context, os-service-types, kubernetes, kombu, jsonschema-specifications, futurist, cryptography, alembic, pyOpenSSL, oslo.utils, oslo.config, keystoneauth1, jsonschema, warlock, python-cinderclient, oslo.serialization, oslo.middleware, oslo.db, oslo.concurrency, openstacksdk, taskflow, python-novaclient, python-keystoneclient, python-glanceclient, python-barbicanclient, pycadf, oslo.reports, oslo.policy, oslo.log, osc-lib, python-openstackclient, python-neutronclient, python-manilaclient, python-heatclient, oslo.upgradecheck, oslo.service, oslo.privsep, oslo.metrics, oslo.cache, python-octaviaclient, oslo.messaging, keystonemiddleware, oslo.versionedobjects, magnum 2026-04-02 12:45:44.692914 | ubuntu-noble | 2026-04-02 12:45:44.708404 | ubuntu-noble | Successfully installed Jinja2-3.1.6 Mako-1.3.10 MarkupSafe-3.0.3 Paste-3.10.1 PasteDeploy-3.1.0 PyJWT-2.12.1 Routes-2.5.1 SQLAlchemy-2.0.48 WSME-0.12.1 WebOb-1.8.9 Werkzeug-3.1.7 Yappi-1.7.6 alembic-1.18.4 amqp-5.3.1 attrs-26.1.0 automaton-3.4.0 bcrypt-5.0.0 cachetools-7.0.5 cffi-2.0.0 click-8.3.1 cryptography-46.0.6 debtcollector-3.1.0 decorator-5.2.1 diskcache-5.6.3 dnspython-2.8.0 dogpile.cache-1.5.0 durationpy-0.10 eventlet-0.41.0 fasteners-0.20 futurist-3.3.0 greenlet-3.3.2 haproxyadmin-0.2.4 importlib-metadata-9.0.0 jmespath-1.1.0 jsonpatch-1.33 jsonpointer-3.1.1 jsonschema-4.26.0 jsonschema-specifications-2025.9.1 keystoneauth1-5.13.1 keystonemiddleware-12.0.0 kombu-5.6.2 kubernetes-35.0.0 magnum-22.0.0 msgpack-1.1.2 netaddr-1.3.0 networkx-3.6.1 oauthlib-3.3.1 openstacksdk-4.10.0 os-service-types-1.8.2 osc-lib-4.4.0 oslo.cache-4.1.1 oslo.concurrency-7.4.0 oslo.config-10.3.0 oslo.context-6.3.0 oslo.db-18.0.0 oslo.i18n-6.7.2 oslo.log-8.1.0 oslo.messaging-17.3.0 oslo.metrics-0.15.1 oslo.middleware-8.0.0 oslo.policy-5.0.0 oslo.privsep-3.10.1 oslo.reports-3.7.0 oslo.serialization-5.9.1 oslo.service-4.5.1 oslo.upgradecheck-2.7.1 oslo.utils-10.0.0 oslo.versionedobjects-3.9.0 pbr-7.0.3 pecan-1.8.0 platformdirs-4.9.4 prometheus-client-0.24.1 psutil-7.2.2 pyOpenSSL-26.0.0 pycadf-4.0.1 pycparser-3.0 pydot-4.0.1 pykube-ng-23.6.0 pyparsing-3.3.2 pyroute2-0.9.5 python-barbicanclient-7.3.0 python-cinderclient-9.9.0 python-dateutil-2.9.0.post0 python-glanceclient-4.11.0 python-heatclient-5.1.0 python-keystoneclient-5.8.0 python-manilaclient-6.0.0 python-neutronclient-11.8.0 python-novaclient-18.12.0 python-octaviaclient-3.13.0 python-openstackclient-9.0.0 python-swiftclient-4.10.0 pytz-2026.1.post1 referencing-0.37.0 repoze.lru-0.7 requests-oauthlib-2.0.0 requestsexceptions-1.4.0 rfc3986-2.0.0 rpds-py-0.30.0 semver-3.0.4 setuptools-82.0.1 sherlock-0.4.1 shortuuid-1.0.13 simplegeneric-0.8.1 six-1.17.0 statsd-4.0.1 taskflow-6.2.0 tenacity-9.1.4 testresources-2.0.2 testscenarios-0.5.0 typing-extensions-4.15.0 tzdata-2025.3 vine-5.1.0 warlock-2.1.0 websocket-client-1.9.0 wrapt-2.1.2 zipp-3.23.0 2026-04-02 12:45:45.456543 | ubuntu-noble | unit: 49709 I exit 0 (39.89 seconds) /home/zuul/src/github.com/vexxhost/magnum-cluster-api> python -I -m pip install certifi 'click>=8.0.4' 'diskcache>=5.6.1' 'eventlet>=0.33.1' 'haproxyadmin>=0.2.4' 'kubernetes>=24.2.0' 'magnum>=15.0.0' 'oslo.concurrency>=4.5.0' 'oslo.config>=8.8.0' 'oslo.context>=4.1.0' 'oslo.log>=4.7.0' 'oslo.privsep>=2.7.0' 'oslo.service>=2.8.0' 'platformdirs>=2.4.0' pykube-ng 'pyroute2>=0.3.4' python-heatclient 'python-manilaclient>=3.3.2' 'requests>=2.27.1' 'semver>=2.0.0' 'sherlock>=0.4.1' shortuuid pid=6809 [tox/execute/api.py:311] 2026-04-02 12:45:45.457461 | ubuntu-noble | unit: 49710 W install_package> python -I -m pip install --force-reinstall --no-deps /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.tmp/package/1/magnum_cluster_api-0.36.1.tar.gz [tox/tox_env/api.py:515] 2026-04-02 12:45:45.831435 | ubuntu-noble | Processing ./.tox/.tmp/package/1/magnum_cluster_api-0.36.1.tar.gz 2026-04-02 12:45:46.006168 | ubuntu-noble | Installing build dependencies: started 2026-04-02 12:45:46.985064 | ubuntu-noble | Installing build dependencies: finished with status 'done' 2026-04-02 12:45:46.986152 | ubuntu-noble | Getting requirements to build wheel: started 2026-04-02 12:45:47.044160 | ubuntu-noble | Getting requirements to build wheel: finished with status 'done' 2026-04-02 12:45:47.045649 | ubuntu-noble | Preparing metadata (pyproject.toml): started 2026-04-02 12:45:47.525585 | ubuntu-noble | Preparing metadata (pyproject.toml): finished with status 'done' 2026-04-02 12:45:47.531571 | ubuntu-noble | Building wheels for collected packages: magnum-cluster-api 2026-04-02 12:45:47.533259 | ubuntu-noble | Building wheel for magnum-cluster-api (pyproject.toml): started 2026-04-02 12:47:42.191275 | ubuntu-noble | Building wheel for magnum-cluster-api (pyproject.toml): still running... 2026-04-02 12:47:42.888774 | ubuntu-noble | Building wheel for magnum-cluster-api (pyproject.toml): finished with status 'done' 2026-04-02 12:47:42.900893 | ubuntu-noble | Created wheel for magnum-cluster-api: filename=magnum_cluster_api-0.36.1-cp38-abi3-linux_x86_64.whl size=7522838 sha256=595719f94b6ac1b95c66858dde02c82fbfd841b0749811e1599d79e0392974d1 2026-04-02 12:47:42.901418 | ubuntu-noble | Stored in directory: /home/zuul/.cache/pip/wheels/72/fe/7b/6e6c4c0adccd095db1bd84d2ca0ca584fc8c4a38a0c6fe3a5b 2026-04-02 12:47:42.909306 | ubuntu-noble | Successfully built magnum-cluster-api 2026-04-02 12:47:42.909787 | ubuntu-noble | Installing collected packages: magnum-cluster-api 2026-04-02 12:47:43.162428 | ubuntu-noble | Successfully installed magnum-cluster-api-0.36.1 2026-04-02 12:47:43.502173 | ubuntu-noble | unit: 167755 I exit 0 (118.04 seconds) /home/zuul/src/github.com/vexxhost/magnum-cluster-api> python -I -m pip install --force-reinstall --no-deps /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.tmp/package/1/magnum_cluster_api-0.36.1.tar.gz pid=7441 [tox/execute/api.py:311] 2026-04-02 12:47:43.503541 | ubuntu-noble | .pkg: 167756 W _exit> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True maturin [tox/tox_env/api.py:515] 2026-04-02 12:47:43.504981 | ubuntu-noble | Backend: run command _exit with args {} 2026-04-02 12:47:43.505003 | ubuntu-noble | Backend: Wrote response {'return': 0} to /tmp/pep517__exit-sy0ztzdx.json 2026-04-02 12:47:43.506277 | ubuntu-noble | .pkg: 167759 I exit None (0.00 seconds) /home/zuul/src/github.com/vexxhost/magnum-cluster-api> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True maturin pid=6634 [tox/execute/api.py:311] 2026-04-02 12:47:43.522330 | ubuntu-noble | .pkg: 167775 D delete package /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.tmp/package/1/magnum_cluster_api-0.36.1.tar.gz [tox/tox_env/python/virtual_env/package/pyproject.py:245] 2026-04-02 12:47:43.526661 | ubuntu-noble | unit: OK (167.56 seconds) 2026-04-02 12:47:43.526683 | ubuntu-noble | congratulations :) (167.59 seconds) 2026-04-02 12:47:44.094295 | ubuntu-noble | ok: Runtime: 0:02:47.871258 2026-04-02 12:47:44.107247 | 2026-04-02 12:47:44.107346 | TASK [tox : Create a tempfile to save tox showconfig] 2026-04-02 12:47:44.425598 | ubuntu-noble | changed 2026-04-02 12:47:44.432448 | 2026-04-02 12:47:44.432511 | TASK [tox : Detect tox version] 2026-04-02 12:47:44.920684 | ubuntu-noble | 4.52.0 from /home/zuul/.local/tox/lib/python3.12/site-packages/tox/__init__.py 2026-04-02 12:47:45.006481 | ubuntu-noble | ok: Runtime: 0:00:00.283205 2026-04-02 12:47:45.012173 | 2026-04-02 12:47:45.012242 | TASK [tox : Get tox envlist config] 2026-04-02 12:47:46.052260 | ubuntu-noble | ok: Runtime: 0:00:00.319260 2026-04-02 12:47:46.057951 | 2026-04-02 12:47:46.058018 | TASK [tox : Install any sibling python packages] 2026-04-02 12:47:46.414064 | ubuntu-noble | ok: No name in setup.cfg, skipping siblings 2026-04-02 12:47:46.639902 | 2026-04-02 12:47:46.640038 | TASK [tox : Remove tempfile] 2026-04-02 12:47:47.001664 | ubuntu-noble | changed 2026-04-02 12:47:47.007722 | 2026-04-02 12:47:47.007801 | TASK [tox : Emit tox command] 2026-04-02 12:47:47.053868 | /home/zuul/.local/tox/bin/tox -eunit -vv --skip-missing-interpreters=false 2026-04-02 12:47:47.061610 | 2026-04-02 12:47:47.061704 | TASK [tox : Run tox] 2026-04-02 12:47:47.509042 | ubuntu-noble | ROOT: 187 D setup logging to DEBUG on pid 11655 [tox/report.py:229] 2026-04-02 12:47:47.546342 | ubuntu-noble | unit: 224 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65] 2026-04-02 12:47:47.549994 | ubuntu-noble | unit: 228 I find interpreter for spec PythonSpec(path=/home/zuul/.local/tox/bin/python3) [python_discovery/_discovery.py:62] 2026-04-02 12:47:47.550772 | ubuntu-noble | unit: 228 D filesystem is case-sensitive [python_discovery/_compat.py:18] 2026-04-02 12:47:47.555817 | ubuntu-noble | unit: 234 D got python info of /usr/bin/python3.12 from /home/zuul/.cache/virtualenv/py_info/4/f0d7a494a3f776233427cb85a7e198c7cf4913b50a203c6febc678cc4f5bf265.json [virtualenv/app_data/via_disk_folder.py:139] 2026-04-02 12:47:47.556350 | ubuntu-noble | unit: 234 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Mar 3 2026, 12:15:18) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:71] 2026-04-02 12:47:47.556419 | ubuntu-noble | unit: 234 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Mar 3 2026, 12:15:18) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:75] 2026-04-02 12:47:47.557386 | ubuntu-noble | unit: 235 D symlink on filesystem does work [virtualenv/info.py:51] 2026-04-02 12:47:47.557501 | ubuntu-noble | unit: 235 D filesystem is case-sensitive [virtualenv/info.py:28] 2026-04-02 12:47:47.585732 | ubuntu-noble | .pkg: 263 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65] 2026-04-02 12:47:47.586077 | ubuntu-noble | .pkg: 264 I find interpreter for spec PythonSpec(path=/home/zuul/.local/tox/bin/python3) [python_discovery/_discovery.py:62] 2026-04-02 12:47:47.586347 | ubuntu-noble | .pkg: 264 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Mar 3 2026, 12:15:18) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:71] 2026-04-02 12:47:47.586396 | ubuntu-noble | .pkg: 264 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Mar 3 2026, 12:15:18) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:75] 2026-04-02 12:47:47.588475 | ubuntu-noble | .pkg: 266 W _optional_hooks> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True maturin [tox/tox_env/api.py:515] 2026-04-02 12:47:47.632129 | ubuntu-noble | Backend: run command _optional_hooks with args {} 2026-04-02 12:47:47.632180 | ubuntu-noble | Backend: Wrote response {'return': {'get_requires_for_build_sdist': True, 'prepare_metadata_for_build_wheel': True, 'get_requires_for_build_wheel': True, 'build_editable': True, 'get_requires_for_build_editable': True, 'prepare_metadata_for_build_editable': True}} to /tmp/pep517__optional_hooks-z2lmknnz.json 2026-04-02 12:47:47.635792 | ubuntu-noble | .pkg: 313 I exit None (0.04 seconds) /home/zuul/src/github.com/vexxhost/magnum-cluster-api> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True maturin pid=11662 [tox/execute/api.py:311] 2026-04-02 12:47:47.636587 | ubuntu-noble | .pkg: 314 W get_requires_for_build_sdist> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True maturin [tox/tox_env/api.py:515] 2026-04-02 12:47:47.638074 | ubuntu-noble | Backend: run command get_requires_for_build_sdist with args {'config_settings': None} 2026-04-02 12:47:47.638105 | ubuntu-noble | Backend: Wrote response {'return': []} to /tmp/pep517_get_requires_for_build_sdist-nupiwjs5.json 2026-04-02 12:47:47.639373 | ubuntu-noble | .pkg: 317 I exit None (0.00 seconds) /home/zuul/src/github.com/vexxhost/magnum-cluster-api> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True maturin pid=11662 [tox/execute/api.py:311] 2026-04-02 12:47:47.640183 | ubuntu-noble | .pkg: 318 W build_sdist> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True maturin [tox/tox_env/api.py:515] 2026-04-02 12:47:47.641510 | ubuntu-noble | Backend: run command build_sdist with args {'sdist_directory': '/home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg/dist', 'config_settings': None} 2026-04-02 12:47:47.641545 | ubuntu-noble | Running `maturin pep517 write-sdist --sdist-directory /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg/dist` 2026-04-02 12:47:47.855919 | ubuntu-noble | 📦 Including license file `LICENSE` 2026-04-02 12:47:47.856302 | ubuntu-noble | 🍹 Building a mixed python/rust project 2026-04-02 12:47:47.856906 | ubuntu-noble | 🔗 Found pyo3 bindings with abi3 support 2026-04-02 12:47:47.916246 | ubuntu-noble | 📡 Using build options features from pyproject.toml 2026-04-02 12:47:48.124296 | ubuntu-noble | From `cargo package --list --allow-dirty --manifest-path /home/zuul/src/github.com/vexxhost/magnum-cluster-api/crates/serde_gtmpl/Cargo.toml`: 2026-04-02 12:47:48.124351 | ubuntu-noble | warning: manifest has no description, license, license-file, documentation, homepage or repository 2026-04-02 12:47:48.124362 | ubuntu-noble | | 2026-04-02 12:47:48.124372 | ubuntu-noble | = note: see https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for more info 2026-04-02 12:47:48.225070 | ubuntu-noble | From `cargo package --list --allow-dirty --manifest-path /home/zuul/src/github.com/vexxhost/magnum-cluster-api/crates/helm/Cargo.toml`: 2026-04-02 12:47:48.225144 | ubuntu-noble | warning: manifest has no description, license, license-file, documentation, homepage or repository 2026-04-02 12:47:48.225155 | ubuntu-noble | | 2026-04-02 12:47:48.225168 | ubuntu-noble | = note: see https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for more info 2026-04-02 12:47:48.318953 | ubuntu-noble | From `cargo package --list --allow-dirty --manifest-path /home/zuul/src/github.com/vexxhost/magnum-cluster-api/crates/cluster_feature_derive/Cargo.toml`: 2026-04-02 12:47:48.319015 | ubuntu-noble | warning: manifest has no description, license, license-file, documentation, homepage or repository 2026-04-02 12:47:48.319021 | ubuntu-noble | | 2026-04-02 12:47:48.319026 | ubuntu-noble | = note: see https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for more info 2026-04-02 12:47:48.438955 | ubuntu-noble | From `cargo package --list --allow-dirty --manifest-path /home/zuul/src/github.com/vexxhost/magnum-cluster-api/Cargo.toml`: 2026-04-02 12:47:48.439005 | ubuntu-noble | warning: manifest has no description, license, license-file, documentation, homepage or repository 2026-04-02 12:47:48.439012 | ubuntu-noble | | 2026-04-02 12:47:48.439018 | ubuntu-noble | = note: see https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for more info 2026-04-02 12:47:48.674201 | ubuntu-noble | 📦 Built source distribution to /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg/dist/magnum_cluster_api-0.36.1.tar.gz 2026-04-02 12:47:48.678088 | ubuntu-noble | magnum_cluster_api-0.36.1.tar.gz 2026-04-02 12:47:48.678527 | ubuntu-noble | Backend: Wrote response {'return': 'magnum_cluster_api-0.36.1.tar.gz'} to /tmp/pep517_build_sdist-q11qb71_.json 2026-04-02 12:47:48.680347 | ubuntu-noble | .pkg: 1358 I exit None (1.04 seconds) /home/zuul/src/github.com/vexxhost/magnum-cluster-api> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True maturin pid=11662 [tox/execute/api.py:311] 2026-04-02 12:47:48.688391 | ubuntu-noble | .pkg: 1366 D package .tmp/package/2/magnum_cluster_api-0.36.1.tar.gz copied to .pkg/dist/magnum_cluster_api-0.36.1.tar.gz (/home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox) [tox/util/file_view.py:30] 2026-04-02 12:47:48.689473 | ubuntu-noble | unit: 1367 W install_package> python -I -m pip install --force-reinstall --no-deps /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.tmp/package/2/magnum_cluster_api-0.36.1.tar.gz [tox/tox_env/api.py:515] 2026-04-02 12:47:49.101223 | ubuntu-noble | Processing ./.tox/.tmp/package/2/magnum_cluster_api-0.36.1.tar.gz 2026-04-02 12:47:49.275824 | ubuntu-noble | Installing build dependencies: started 2026-04-02 12:47:50.277064 | ubuntu-noble | Installing build dependencies: finished with status 'done' 2026-04-02 12:47:50.278037 | ubuntu-noble | Getting requirements to build wheel: started 2026-04-02 12:47:50.341922 | ubuntu-noble | Getting requirements to build wheel: finished with status 'done' 2026-04-02 12:47:50.343975 | ubuntu-noble | Preparing metadata (pyproject.toml): started 2026-04-02 12:47:50.825329 | ubuntu-noble | Preparing metadata (pyproject.toml): finished with status 'done' 2026-04-02 12:47:50.831960 | ubuntu-noble | Building wheels for collected packages: magnum-cluster-api 2026-04-02 12:47:50.832980 | ubuntu-noble | Building wheel for magnum-cluster-api (pyproject.toml): started 2026-04-02 12:49:40.565991 | ubuntu-noble | Building wheel for magnum-cluster-api (pyproject.toml): still running... 2026-04-02 12:49:41.258069 | ubuntu-noble | Building wheel for magnum-cluster-api (pyproject.toml): finished with status 'done' 2026-04-02 12:49:41.269615 | ubuntu-noble | Created wheel for magnum-cluster-api: filename=magnum_cluster_api-0.36.1-cp38-abi3-linux_x86_64.whl size=7522839 sha256=10fa29bd215075bc61d2c7378732b1bc2b740091b6949fd6741a21dfd79bc4e3 2026-04-02 12:49:41.270170 | ubuntu-noble | Stored in directory: /home/zuul/.cache/pip/wheels/34/da/f9/cb759d2c4d485d6ccdbd7a0b0f5060e5893e22b149da909269 2026-04-02 12:49:41.276335 | ubuntu-noble | Successfully built magnum-cluster-api 2026-04-02 12:49:41.276616 | ubuntu-noble | Installing collected packages: magnum-cluster-api 2026-04-02 12:49:41.276641 | ubuntu-noble | Attempting uninstall: magnum-cluster-api 2026-04-02 12:49:41.279324 | ubuntu-noble | Found existing installation: magnum-cluster-api 0.36.1 2026-04-02 12:49:41.295833 | ubuntu-noble | Uninstalling magnum-cluster-api-0.36.1: 2026-04-02 12:49:41.300221 | ubuntu-noble | Successfully uninstalled magnum-cluster-api-0.36.1 2026-04-02 12:49:41.570924 | ubuntu-noble | Successfully installed magnum-cluster-api-0.36.1 2026-04-02 12:49:41.903827 | ubuntu-noble | unit: 114581 I exit 0 (113.21 seconds) /home/zuul/src/github.com/vexxhost/magnum-cluster-api> python -I -m pip install --force-reinstall --no-deps /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.tmp/package/2/magnum_cluster_api-0.36.1.tar.gz pid=11837 [tox/execute/api.py:311] 2026-04-02 12:49:41.904308 | ubuntu-noble | unit: 114582 W commands[0]> pytest magnum_cluster_api/tests/unit/ [tox/tox_env/api.py:515] 2026-04-02 12:49:44.432178 | ubuntu-noble | ============================= test session starts ============================== 2026-04-02 12:49:44.432227 | ubuntu-noble | platform linux -- Python 3.12.3, pytest-9.0.2, pluggy-1.6.0 2026-04-02 12:49:44.432240 | ubuntu-noble | cachedir: .tox/unit/.pytest_cache 2026-04-02 12:49:44.432251 | ubuntu-noble | rootdir: /home/zuul/src/github.com/vexxhost/magnum-cluster-api 2026-04-02 12:49:44.432263 | ubuntu-noble | configfile: pyproject.toml 2026-04-02 12:49:44.432274 | ubuntu-noble | plugins: mock-3.15.1 2026-04-02 12:49:44.432285 | ubuntu-noble | collected 185 items 2026-04-02 12:49:44.432297 | ubuntu-noble | 2026-04-02 12:49:44.796296 | ubuntu-noble | magnum_cluster_api/tests/unit/cmd/test_image_loader.py .. [ 1%] 2026-04-02 12:49:48.566048 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py ........FFFFFFFF........... [ 15%] 2026-04-02 12:49:48.612898 | ubuntu-noble | ......... [ 20%] 2026-04-02 12:49:49.020596 | ubuntu-noble | magnum_cluster_api/tests/unit/test_go_template.py ...................... [ 32%] 2026-04-02 12:49:49.684232 | ubuntu-noble | ................................................. [ 58%] 2026-04-02 12:49:49.694078 | ubuntu-noble | magnum_cluster_api/tests/unit/test_helm.py ........ [ 63%] 2026-04-02 12:50:04.193745 | ubuntu-noble | magnum_cluster_api/tests/unit/test_image_utils.py .. [ 64%] 2026-04-02 12:50:04.214302 | ubuntu-noble | magnum_cluster_api/tests/unit/test_images.py .......................... [ 78%] 2026-04-02 12:50:04.227887 | ubuntu-noble | magnum_cluster_api/tests/unit/test_objects.py ....... [ 82%] 2026-04-02 12:50:04.267380 | ubuntu-noble | magnum_cluster_api/tests/unit/test_resources.py ............... [ 90%] 2026-04-02 12:50:04.270184 | ubuntu-noble | magnum_cluster_api/tests/unit/test_sync.py .. [ 91%] 2026-04-02 12:50:04.307093 | ubuntu-noble | magnum_cluster_api/tests/unit/test_utils.py .F.............. [100%] 2026-04-02 12:50:04.307136 | ubuntu-noble | 2026-04-02 12:50:04.307154 | ubuntu-noble | =================================== FAILURES =================================== 2026-04-02 12:50:04.307169 | ubuntu-noble | _ TestDriver.test_update_nodegroup[auto_healing_enabled=True-auto_scaling_enabled=True] _ 2026-04-02 12:50:04.307182 | ubuntu-noble | 2026-04-02 12:50:04.307195 | ubuntu-noble | self = 2026-04-02 12:50:04.307208 | ubuntu-noble | context = 2026-04-02 12:50:04.307239 | ubuntu-noble | ubuntu_driver = 2026-04-02 12:50:04.307249 | ubuntu-noble | requests_mock = 2026-04-02 12:50:04.307258 | ubuntu-noble | 2026-04-02 12:50:04.307267 | ubuntu-noble | def test_update_nodegroup(self, context, ubuntu_driver, requests_mock): 2026-04-02 12:50:04.307277 | ubuntu-noble | with requests_mock as rsps: 2026-04-02 12:50:04.307286 | ubuntu-noble | self.setup_node_group_tests( 2026-04-02 12:50:04.307295 | ubuntu-noble | rsps, 2026-04-02 12:50:04.307305 | ubuntu-noble | before=[ 2026-04-02 12:50:04.307314 | ubuntu-noble | { 2026-04-02 12:50:04.307323 | ubuntu-noble | "name": self.node_group.name, 2026-04-02 12:50:04.307332 | ubuntu-noble | } 2026-04-02 12:50:04.307341 | ubuntu-noble | ], 2026-04-02 12:50:04.307350 | ubuntu-noble | after=[ 2026-04-02 12:50:04.307359 | ubuntu-noble | resources.mutate_machine_deployment( 2026-04-02 12:50:04.307368 | ubuntu-noble | context, 2026-04-02 12:50:04.307378 | ubuntu-noble | self.cluster, 2026-04-02 12:50:04.307387 | ubuntu-noble | self.node_group, 2026-04-02 12:50:04.307397 | ubuntu-noble | { 2026-04-02 12:50:04.307406 | ubuntu-noble | "name": self.node_group.name, 2026-04-02 12:50:04.307415 | ubuntu-noble | }, 2026-04-02 12:50:04.307424 | ubuntu-noble | ), 2026-04-02 12:50:04.307433 | ubuntu-noble | ], 2026-04-02 12:50:04.307444 | ubuntu-noble | ) 2026-04-02 12:50:04.307454 | ubuntu-noble | 2026-04-02 12:50:04.307464 | ubuntu-noble | > ubuntu_driver.update_nodegroup(context, self.cluster, self.node_group) 2026-04-02 12:50:04.307473 | ubuntu-noble | 2026-04-02 12:50:04.307483 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py:385: 2026-04-02 12:50:04.307492 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 12:50:04.307501 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/driver.py:43: in wrapper 2026-04-02 12:50:04.307510 | ubuntu-noble | return func(*args, **kwargs) 2026-04-02 12:50:04.307520 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.307529 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/driver.py:601: in update_nodegroup 2026-04-02 12:50:04.307538 | ubuntu-noble | self._update_nodegroup(context, cluster, nodegroup) 2026-04-02 12:50:04.307547 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/driver.py:631: in _update_nodegroup 2026-04-02 12:50:04.307556 | ubuntu-noble | resources.migrate_machineset_failure_domain( 2026-04-02 12:50:04.307566 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/resources.py:870: in migrate_machineset_failure_domain 2026-04-02 12:50:04.307575 | ubuntu-noble | machine_sets = objects.MachineSet.for_node_group(pykube_api, cluster, node_group) 2026-04-02 12:50:04.307584 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.307594 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/objects.py:154: in for_node_group 2026-04-02 12:50:04.307603 | ubuntu-noble | return list(mss) 2026-04-02 12:50:04.307612 | ubuntu-noble | ^^^^^^^^^ 2026-04-02 12:50:04.307621 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/query.py:197: in __iter__ 2026-04-02 12:50:04.307630 | ubuntu-noble | return iter(self.query_cache["objects"]) 2026-04-02 12:50:04.307639 | ubuntu-noble | ^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.307648 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/query.py:187: in query_cache 2026-04-02 12:50:04.307657 | ubuntu-noble | cache["response"] = self.execute().json() 2026-04-02 12:50:04.307667 | ubuntu-noble | ^^^^^^^^^^^^^^ 2026-04-02 12:50:04.307676 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/query.py:161: in execute 2026-04-02 12:50:04.307685 | ubuntu-noble | r = self.api.get(**kwargs) 2026-04-02 12:50:04.307695 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.307704 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/http.py:465: in get 2026-04-02 12:50:04.307713 | ubuntu-noble | return self.session.get(*args, **self.get_kwargs(**kwargs)) 2026-04-02 12:50:04.307722 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.307752 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/requests/sessions.py:605: in get 2026-04-02 12:50:04.307761 | ubuntu-noble | return self.request("GET", url, **kwargs) 2026-04-02 12:50:04.307771 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.307780 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/requests/sessions.py:592: in request 2026-04-02 12:50:04.307789 | ubuntu-noble | resp = self.send(prep, **send_kwargs) 2026-04-02 12:50:04.307798 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.307807 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/requests/sessions.py:706: in send 2026-04-02 12:50:04.307816 | ubuntu-noble | r = adapter.send(request, **kwargs) 2026-04-02 12:50:04.307825 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.307834 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/http.py:181: in send 2026-04-02 12:50:04.307844 | ubuntu-noble | response = self._do_send(request, **kwargs) 2026-04-02 12:50:04.307893 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.307903 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:1204: in send 2026-04-02 12:50:04.307913 | ubuntu-noble | return self._on_request(adapter, request, **kwargs) 2026-04-02 12:50:04.307922 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.307940 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 12:50:04.307950 | ubuntu-noble | 2026-04-02 12:50:04.307959 | ubuntu-noble | self = 2026-04-02 12:50:04.307968 | ubuntu-noble | adapter = 2026-04-02 12:50:04.307977 | ubuntu-noble | request = , retries = None 2026-04-02 12:50:04.307997 | ubuntu-noble | kwargs = {'cert': None, 'proxies': OrderedDict(), 'stream': False, 'timeout': 10, ...} 2026-04-02 12:50:04.308007 | ubuntu-noble | request_url = 'http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/machinesets?labelSelector=cluster.x-k8s.io%2Fcluster-name%3D047c6319-7abd-4bd9-a033-8c6af0173cd0%2Ctopology.cluster.x-k8s.io%2Fdeployment-name%3Ddefault-worker' 2026-04-02 12:50:04.308017 | ubuntu-noble | match = None 2026-04-02 12:50:04.308026 | ubuntu-noble | match_failed_reasons = ['URL does not match', 'Method does not match'] 2026-04-02 12:50:04.308035 | ubuntu-noble | resp_callback = None 2026-04-02 12:50:04.308045 | ubuntu-noble | error_msg = "Connection refused by Responses - the call doesn't match any registered mock.\n\nRequest: \n- GET http://localhost/ap...pile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\\\w') Method does not match\n" 2026-04-02 12:50:04.308054 | ubuntu-noble | 2026-04-02 12:50:04.308064 | ubuntu-noble | def _on_request( 2026-04-02 12:50:04.308073 | ubuntu-noble | self, 2026-04-02 12:50:04.308082 | ubuntu-noble | adapter: "HTTPAdapter", 2026-04-02 12:50:04.308092 | ubuntu-noble | request: "PreparedRequest", 2026-04-02 12:50:04.308104 | ubuntu-noble | *, 2026-04-02 12:50:04.308116 | ubuntu-noble | retries: Optional["_Retry"] = None, 2026-04-02 12:50:04.308129 | ubuntu-noble | **kwargs: Any, 2026-04-02 12:50:04.308142 | ubuntu-noble | ) -> "models.Response": 2026-04-02 12:50:04.308154 | ubuntu-noble | # add attributes params and req_kwargs to 'request' object for further match comparison 2026-04-02 12:50:04.308164 | ubuntu-noble | # original request object does not have these attributes 2026-04-02 12:50:04.308174 | ubuntu-noble | request.params = self._parse_request_params(request.path_url) # type: ignore[attr-defined] 2026-04-02 12:50:04.308183 | ubuntu-noble | request.req_kwargs = kwargs # type: ignore[attr-defined] 2026-04-02 12:50:04.308192 | ubuntu-noble | request_url = str(request.url) 2026-04-02 12:50:04.308201 | ubuntu-noble | request.body = self._read_filelike_body(request.body) 2026-04-02 12:50:04.308210 | ubuntu-noble | 2026-04-02 12:50:04.308219 | ubuntu-noble | match, match_failed_reasons = self._find_match(request) 2026-04-02 12:50:04.308228 | ubuntu-noble | resp_callback = self.response_callback 2026-04-02 12:50:04.308238 | ubuntu-noble | 2026-04-02 12:50:04.308247 | ubuntu-noble | if match is None: 2026-04-02 12:50:04.308256 | ubuntu-noble | if any( 2026-04-02 12:50:04.308265 | ubuntu-noble | [ 2026-04-02 12:50:04.308274 | ubuntu-noble | p.match(request_url) 2026-04-02 12:50:04.308294 | ubuntu-noble | if isinstance(p, Pattern) 2026-04-02 12:50:04.308303 | ubuntu-noble | else request_url.startswith(p) 2026-04-02 12:50:04.308312 | ubuntu-noble | for p in self.passthru_prefixes 2026-04-02 12:50:04.308321 | ubuntu-noble | ] 2026-04-02 12:50:04.308330 | ubuntu-noble | ): 2026-04-02 12:50:04.308340 | ubuntu-noble | logger.info("request.allowed-passthru", extra={"url": request_url}) 2026-04-02 12:50:04.308349 | ubuntu-noble | return self._real_send(adapter, request, **kwargs) # type: ignore 2026-04-02 12:50:04.308358 | ubuntu-noble | 2026-04-02 12:50:04.308367 | ubuntu-noble | error_msg = ( 2026-04-02 12:50:04.308376 | ubuntu-noble | "Connection refused by Responses - the call doesn't " 2026-04-02 12:50:04.308385 | ubuntu-noble | "match any registered mock.\n\n" 2026-04-02 12:50:04.308394 | ubuntu-noble | "Request: \n" 2026-04-02 12:50:04.308404 | ubuntu-noble | f"- {request.method} {request_url}\n\n" 2026-04-02 12:50:04.308413 | ubuntu-noble | "Available matches:\n" 2026-04-02 12:50:04.308422 | ubuntu-noble | ) 2026-04-02 12:50:04.308431 | ubuntu-noble | for i, m in enumerate(self.registered()): 2026-04-02 12:50:04.308440 | ubuntu-noble | error_msg += "- {} {} {}\n".format( 2026-04-02 12:50:04.308449 | ubuntu-noble | m.method, m.url, match_failed_reasons[i] 2026-04-02 12:50:04.308458 | ubuntu-noble | ) 2026-04-02 12:50:04.308467 | ubuntu-noble | 2026-04-02 12:50:04.308476 | ubuntu-noble | if self.passthru_prefixes: 2026-04-02 12:50:04.308485 | ubuntu-noble | error_msg += "Passthru prefixes:\n" 2026-04-02 12:50:04.308494 | ubuntu-noble | for p in self.passthru_prefixes: 2026-04-02 12:50:04.308503 | ubuntu-noble | error_msg += f"- {p}\n" 2026-04-02 12:50:04.308512 | ubuntu-noble | 2026-04-02 12:50:04.308521 | ubuntu-noble | response = ConnectionError(error_msg) 2026-04-02 12:50:04.308530 | ubuntu-noble | response.request = request 2026-04-02 12:50:04.308539 | ubuntu-noble | 2026-04-02 12:50:04.308548 | ubuntu-noble | self._calls.add(request, response) 2026-04-02 12:50:04.308557 | ubuntu-noble | > raise response 2026-04-02 12:50:04.308567 | ubuntu-noble | E requests.exceptions.ConnectionError: Connection refused by Responses - the call doesn't match any registered mock. 2026-04-02 12:50:04.308576 | ubuntu-noble | E 2026-04-02 12:50:04.308585 | ubuntu-noble | E Request: 2026-04-02 12:50:04.308595 | ubuntu-noble | E - GET http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/machinesets?labelSelector=cluster.x-k8s.io%2Fcluster-name%3D047c6319-7abd-4bd9-a033-8c6af0173cd0%2Ctopology.cluster.x-k8s.io%2Fdeployment-name%3Ddefault-worker 2026-04-02 12:50:04.308604 | ubuntu-noble | E 2026-04-02 12:50:04.308613 | ubuntu-noble | E Available matches: 2026-04-02 12:50:04.308630 | ubuntu-noble | E - GET re.compile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\w') URL does not match 2026-04-02 12:50:04.308640 | ubuntu-noble | E - PATCH re.compile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\w') Method does not match 2026-04-02 12:50:04.308649 | ubuntu-noble | 2026-04-02 12:50:04.308658 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:1129: ConnectionError 2026-04-02 12:50:04.308667 | ubuntu-noble | 2026-04-02 12:50:04.308676 | ubuntu-noble | During handling of the above exception, another exception occurred: 2026-04-02 12:50:04.308685 | ubuntu-noble | 2026-04-02 12:50:04.308694 | ubuntu-noble | self = 2026-04-02 12:50:04.308704 | ubuntu-noble | context = 2026-04-02 12:50:04.308713 | ubuntu-noble | ubuntu_driver = 2026-04-02 12:50:04.308722 | ubuntu-noble | requests_mock = 2026-04-02 12:50:04.308731 | ubuntu-noble | 2026-04-02 12:50:04.308741 | ubuntu-noble | def test_update_nodegroup(self, context, ubuntu_driver, requests_mock): 2026-04-02 12:50:04.308750 | ubuntu-noble | > with requests_mock as rsps: 2026-04-02 12:50:04.308759 | ubuntu-noble | 2026-04-02 12:50:04.308768 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py:365: 2026-04-02 12:50:04.308777 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 12:50:04.308802 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:995: in __exit__ 2026-04-02 12:50:04.309379 | ubuntu-noble | self.stop(allow_assert=True) 2026-04-02 12:50:04.309574 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 12:50:04.309588 | ubuntu-noble | 2026-04-02 12:50:04.309598 | ubuntu-noble | self = , allow_assert = True 2026-04-02 12:50:04.309608 | ubuntu-noble | 2026-04-02 12:50:04.309617 | ubuntu-noble | def stop(self, allow_assert: bool = True) -> None: 2026-04-02 12:50:04.309626 | ubuntu-noble | if self._patcher: 2026-04-02 12:50:04.309635 | ubuntu-noble | # prevent stopping unstarted patchers 2026-04-02 12:50:04.309645 | ubuntu-noble | self._patcher.stop() 2026-04-02 12:50:04.309958 | ubuntu-noble | 2026-04-02 12:50:04.309970 | ubuntu-noble | # once patcher is stopped, clean it. This is required to create a new 2026-04-02 12:50:04.309980 | ubuntu-noble | # fresh patcher on self.start() 2026-04-02 12:50:04.309989 | ubuntu-noble | self._patcher = None 2026-04-02 12:50:04.309998 | ubuntu-noble | 2026-04-02 12:50:04.310007 | ubuntu-noble | if not self.assert_all_requests_are_fired: 2026-04-02 12:50:04.310016 | ubuntu-noble | return 2026-04-02 12:50:04.310026 | ubuntu-noble | 2026-04-02 12:50:04.310035 | ubuntu-noble | if not allow_assert: 2026-04-02 12:50:04.310044 | ubuntu-noble | return 2026-04-02 12:50:04.310053 | ubuntu-noble | 2026-04-02 12:50:04.310062 | ubuntu-noble | not_called = [m for m in self.registered() if m.call_count == 0] 2026-04-02 12:50:04.310071 | ubuntu-noble | if not_called: 2026-04-02 12:50:04.310080 | ubuntu-noble | > raise AssertionError( 2026-04-02 12:50:04.310089 | ubuntu-noble | "Not all requests have been executed {!r}".format( 2026-04-02 12:50:04.310098 | ubuntu-noble | [(match.method, match.url) for match in not_called] 2026-04-02 12:50:04.310107 | ubuntu-noble | ) 2026-04-02 12:50:04.310116 | ubuntu-noble | ) 2026-04-02 12:50:04.310126 | ubuntu-noble | E AssertionError: Not all requests have been executed [('PATCH', re.compile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\w'))] 2026-04-02 12:50:04.310137 | ubuntu-noble | 2026-04-02 12:50:04.310226 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:1235: AssertionError 2026-04-02 12:50:04.310239 | ubuntu-noble | _ TestDriver.test_update_nodegroup[auto_healing_enabled=True-auto_scaling_enabled=False] _ 2026-04-02 12:50:04.310248 | ubuntu-noble | 2026-04-02 12:50:04.310258 | ubuntu-noble | self = 2026-04-02 12:50:04.310267 | ubuntu-noble | context = 2026-04-02 12:50:04.310276 | ubuntu-noble | ubuntu_driver = 2026-04-02 12:50:04.310285 | ubuntu-noble | requests_mock = 2026-04-02 12:50:04.310294 | ubuntu-noble | 2026-04-02 12:50:04.310303 | ubuntu-noble | def test_update_nodegroup(self, context, ubuntu_driver, requests_mock): 2026-04-02 12:50:04.310312 | ubuntu-noble | with requests_mock as rsps: 2026-04-02 12:50:04.310322 | ubuntu-noble | self.setup_node_group_tests( 2026-04-02 12:50:04.310331 | ubuntu-noble | rsps, 2026-04-02 12:50:04.310340 | ubuntu-noble | before=[ 2026-04-02 12:50:04.310349 | ubuntu-noble | { 2026-04-02 12:50:04.310358 | ubuntu-noble | "name": self.node_group.name, 2026-04-02 12:50:04.310367 | ubuntu-noble | } 2026-04-02 12:50:04.310376 | ubuntu-noble | ], 2026-04-02 12:50:04.310385 | ubuntu-noble | after=[ 2026-04-02 12:50:04.310394 | ubuntu-noble | resources.mutate_machine_deployment( 2026-04-02 12:50:04.310403 | ubuntu-noble | context, 2026-04-02 12:50:04.310688 | ubuntu-noble | self.cluster, 2026-04-02 12:50:04.310701 | ubuntu-noble | self.node_group, 2026-04-02 12:50:04.310710 | ubuntu-noble | { 2026-04-02 12:50:04.310719 | ubuntu-noble | "name": self.node_group.name, 2026-04-02 12:50:04.310815 | ubuntu-noble | }, 2026-04-02 12:50:04.310828 | ubuntu-noble | ), 2026-04-02 12:50:04.310837 | ubuntu-noble | ], 2026-04-02 12:50:04.310846 | ubuntu-noble | ) 2026-04-02 12:50:04.310900 | ubuntu-noble | 2026-04-02 12:50:04.310910 | ubuntu-noble | > ubuntu_driver.update_nodegroup(context, self.cluster, self.node_group) 2026-04-02 12:50:04.310920 | ubuntu-noble | 2026-04-02 12:50:04.310930 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py:385: 2026-04-02 12:50:04.310939 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 12:50:04.310948 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/driver.py:43: in wrapper 2026-04-02 12:50:04.310957 | ubuntu-noble | return func(*args, **kwargs) 2026-04-02 12:50:04.310966 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.310975 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/driver.py:601: in update_nodegroup 2026-04-02 12:50:04.310984 | ubuntu-noble | self._update_nodegroup(context, cluster, nodegroup) 2026-04-02 12:50:04.310993 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/driver.py:631: in _update_nodegroup 2026-04-02 12:50:04.311002 | ubuntu-noble | resources.migrate_machineset_failure_domain( 2026-04-02 12:50:04.311011 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/resources.py:870: in migrate_machineset_failure_domain 2026-04-02 12:50:04.311020 | ubuntu-noble | machine_sets = objects.MachineSet.for_node_group(pykube_api, cluster, node_group) 2026-04-02 12:50:04.311029 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.311311 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/objects.py:154: in for_node_group 2026-04-02 12:50:04.311322 | ubuntu-noble | return list(mss) 2026-04-02 12:50:04.311332 | ubuntu-noble | ^^^^^^^^^ 2026-04-02 12:50:04.311341 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/query.py:197: in __iter__ 2026-04-02 12:50:04.311425 | ubuntu-noble | return iter(self.query_cache["objects"]) 2026-04-02 12:50:04.311437 | ubuntu-noble | ^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.311456 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/query.py:187: in query_cache 2026-04-02 12:50:04.311466 | ubuntu-noble | cache["response"] = self.execute().json() 2026-04-02 12:50:04.311475 | ubuntu-noble | ^^^^^^^^^^^^^^ 2026-04-02 12:50:04.311484 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/query.py:161: in execute 2026-04-02 12:50:04.311493 | ubuntu-noble | r = self.api.get(**kwargs) 2026-04-02 12:50:04.311502 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.311511 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/http.py:465: in get 2026-04-02 12:50:04.311520 | ubuntu-noble | return self.session.get(*args, **self.get_kwargs(**kwargs)) 2026-04-02 12:50:04.311529 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.311538 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/requests/sessions.py:605: in get 2026-04-02 12:50:04.311556 | ubuntu-noble | return self.request("GET", url, **kwargs) 2026-04-02 12:50:04.311566 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.311575 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/requests/sessions.py:592: in request 2026-04-02 12:50:04.311584 | ubuntu-noble | resp = self.send(prep, **send_kwargs) 2026-04-02 12:50:04.311593 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.311602 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/requests/sessions.py:706: in send 2026-04-02 12:50:04.311611 | ubuntu-noble | r = adapter.send(request, **kwargs) 2026-04-02 12:50:04.311620 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.311629 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/http.py:181: in send 2026-04-02 12:50:04.311638 | ubuntu-noble | response = self._do_send(request, **kwargs) 2026-04-02 12:50:04.311647 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.311656 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:1204: in send 2026-04-02 12:50:04.311665 | ubuntu-noble | return self._on_request(adapter, request, **kwargs) 2026-04-02 12:50:04.311674 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.311961 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 12:50:04.311976 | ubuntu-noble | 2026-04-02 12:50:04.312045 | ubuntu-noble | self = 2026-04-02 12:50:04.312058 | ubuntu-noble | adapter = 2026-04-02 12:50:04.312081 | ubuntu-noble | request = , retries = None 2026-04-02 12:50:04.312150 | ubuntu-noble | kwargs = {'cert': None, 'proxies': OrderedDict(), 'stream': False, 'timeout': 10, ...} 2026-04-02 12:50:04.312162 | ubuntu-noble | request_url = 'http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/machinesets?labelSelector=cluster.x-k8s.io%2Fcluster-name%3D047c6319-7abd-4bd9-a033-8c6af0173cd0%2Ctopology.cluster.x-k8s.io%2Fdeployment-name%3Ddefault-worker' 2026-04-02 12:50:04.312171 | ubuntu-noble | match = None 2026-04-02 12:50:04.312181 | ubuntu-noble | match_failed_reasons = ['URL does not match', 'Method does not match'] 2026-04-02 12:50:04.312191 | ubuntu-noble | resp_callback = None 2026-04-02 12:50:04.312200 | ubuntu-noble | error_msg = "Connection refused by Responses - the call doesn't match any registered mock.\n\nRequest: \n- GET http://localhost/ap...pile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\\\w') Method does not match\n" 2026-04-02 12:50:04.312210 | ubuntu-noble | 2026-04-02 12:50:04.312219 | ubuntu-noble | def _on_request( 2026-04-02 12:50:04.312228 | ubuntu-noble | self, 2026-04-02 12:50:04.312239 | ubuntu-noble | adapter: "HTTPAdapter", 2026-04-02 12:50:04.312251 | ubuntu-noble | request: "PreparedRequest", 2026-04-02 12:50:04.312264 | ubuntu-noble | *, 2026-04-02 12:50:04.312277 | ubuntu-noble | retries: Optional["_Retry"] = None, 2026-04-02 12:50:04.312289 | ubuntu-noble | **kwargs: Any, 2026-04-02 12:50:04.312301 | ubuntu-noble | ) -> "models.Response": 2026-04-02 12:50:04.312311 | ubuntu-noble | # add attributes params and req_kwargs to 'request' object for further match comparison 2026-04-02 12:50:04.312320 | ubuntu-noble | # original request object does not have these attributes 2026-04-02 12:50:04.312338 | ubuntu-noble | request.params = self._parse_request_params(request.path_url) # type: ignore[attr-defined] 2026-04-02 12:50:04.312348 | ubuntu-noble | request.req_kwargs = kwargs # type: ignore[attr-defined] 2026-04-02 12:50:04.312357 | ubuntu-noble | request_url = str(request.url) 2026-04-02 12:50:04.312366 | ubuntu-noble | request.body = self._read_filelike_body(request.body) 2026-04-02 12:50:04.312375 | ubuntu-noble | 2026-04-02 12:50:04.312384 | ubuntu-noble | match, match_failed_reasons = self._find_match(request) 2026-04-02 12:50:04.312393 | ubuntu-noble | resp_callback = self.response_callback 2026-04-02 12:50:04.312402 | ubuntu-noble | 2026-04-02 12:50:04.312570 | ubuntu-noble | if match is None: 2026-04-02 12:50:04.312586 | ubuntu-noble | if any( 2026-04-02 12:50:04.312762 | ubuntu-noble | [ 2026-04-02 12:50:04.312777 | ubuntu-noble | p.match(request_url) 2026-04-02 12:50:04.312786 | ubuntu-noble | if isinstance(p, Pattern) 2026-04-02 12:50:04.312795 | ubuntu-noble | else request_url.startswith(p) 2026-04-02 12:50:04.312804 | ubuntu-noble | for p in self.passthru_prefixes 2026-04-02 12:50:04.312813 | ubuntu-noble | ] 2026-04-02 12:50:04.312822 | ubuntu-noble | ): 2026-04-02 12:50:04.312933 | ubuntu-noble | logger.info("request.allowed-passthru", extra={"url": request_url}) 2026-04-02 12:50:04.312953 | ubuntu-noble | return self._real_send(adapter, request, **kwargs) # type: ignore 2026-04-02 12:50:04.312962 | ubuntu-noble | 2026-04-02 12:50:04.312971 | ubuntu-noble | error_msg = ( 2026-04-02 12:50:04.312981 | ubuntu-noble | "Connection refused by Responses - the call doesn't " 2026-04-02 12:50:04.312990 | ubuntu-noble | "match any registered mock.\n\n" 2026-04-02 12:50:04.312999 | ubuntu-noble | "Request: \n" 2026-04-02 12:50:04.313008 | ubuntu-noble | f"- {request.method} {request_url}\n\n" 2026-04-02 12:50:04.313017 | ubuntu-noble | "Available matches:\n" 2026-04-02 12:50:04.313026 | ubuntu-noble | ) 2026-04-02 12:50:04.313035 | ubuntu-noble | for i, m in enumerate(self.registered()): 2026-04-02 12:50:04.313044 | ubuntu-noble | error_msg += "- {} {} {}\n".format( 2026-04-02 12:50:04.313053 | ubuntu-noble | m.method, m.url, match_failed_reasons[i] 2026-04-02 12:50:04.313062 | ubuntu-noble | ) 2026-04-02 12:50:04.313072 | ubuntu-noble | 2026-04-02 12:50:04.313081 | ubuntu-noble | if self.passthru_prefixes: 2026-04-02 12:50:04.313090 | ubuntu-noble | error_msg += "Passthru prefixes:\n" 2026-04-02 12:50:04.313112 | ubuntu-noble | for p in self.passthru_prefixes: 2026-04-02 12:50:04.313121 | ubuntu-noble | error_msg += f"- {p}\n" 2026-04-02 12:50:04.313130 | ubuntu-noble | 2026-04-02 12:50:04.313139 | ubuntu-noble | response = ConnectionError(error_msg) 2026-04-02 12:50:04.313148 | ubuntu-noble | response.request = request 2026-04-02 12:50:04.313157 | ubuntu-noble | 2026-04-02 12:50:04.313166 | ubuntu-noble | self._calls.add(request, response) 2026-04-02 12:50:04.313175 | ubuntu-noble | > raise response 2026-04-02 12:50:04.313185 | ubuntu-noble | E requests.exceptions.ConnectionError: Connection refused by Responses - the call doesn't match any registered mock. 2026-04-02 12:50:04.313194 | ubuntu-noble | E 2026-04-02 12:50:04.313203 | ubuntu-noble | E Request: 2026-04-02 12:50:04.313222 | ubuntu-noble | E - GET http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/machinesets?labelSelector=cluster.x-k8s.io%2Fcluster-name%3D047c6319-7abd-4bd9-a033-8c6af0173cd0%2Ctopology.cluster.x-k8s.io%2Fdeployment-name%3Ddefault-worker 2026-04-02 12:50:04.313232 | ubuntu-noble | E 2026-04-02 12:50:04.313242 | ubuntu-noble | E Available matches: 2026-04-02 12:50:04.313251 | ubuntu-noble | E - GET re.compile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\w') URL does not match 2026-04-02 12:50:04.313260 | ubuntu-noble | E - PATCH re.compile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\w') Method does not match 2026-04-02 12:50:04.313271 | ubuntu-noble | 2026-04-02 12:50:04.313283 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:1129: ConnectionError 2026-04-02 12:50:04.313295 | ubuntu-noble | 2026-04-02 12:50:04.313308 | ubuntu-noble | During handling of the above exception, another exception occurred: 2026-04-02 12:50:04.313321 | ubuntu-noble | 2026-04-02 12:50:04.313333 | ubuntu-noble | self = 2026-04-02 12:50:04.313343 | ubuntu-noble | context = 2026-04-02 12:50:04.313352 | ubuntu-noble | ubuntu_driver = 2026-04-02 12:50:04.313361 | ubuntu-noble | requests_mock = 2026-04-02 12:50:04.313370 | ubuntu-noble | 2026-04-02 12:50:04.313379 | ubuntu-noble | def test_update_nodegroup(self, context, ubuntu_driver, requests_mock): 2026-04-02 12:50:04.313388 | ubuntu-noble | > with requests_mock as rsps: 2026-04-02 12:50:04.313397 | ubuntu-noble | 2026-04-02 12:50:04.313406 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py:365: 2026-04-02 12:50:04.313425 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 12:50:04.313434 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:995: in __exit__ 2026-04-02 12:50:04.313443 | ubuntu-noble | self.stop(allow_assert=True) 2026-04-02 12:50:04.313452 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 12:50:04.313462 | ubuntu-noble | 2026-04-02 12:50:04.313471 | ubuntu-noble | self = , allow_assert = True 2026-04-02 12:50:04.313479 | ubuntu-noble | 2026-04-02 12:50:04.313488 | ubuntu-noble | def stop(self, allow_assert: bool = True) -> None: 2026-04-02 12:50:04.313498 | ubuntu-noble | if self._patcher: 2026-04-02 12:50:04.313507 | ubuntu-noble | # prevent stopping unstarted patchers 2026-04-02 12:50:04.313516 | ubuntu-noble | self._patcher.stop() 2026-04-02 12:50:04.313525 | ubuntu-noble | 2026-04-02 12:50:04.313534 | ubuntu-noble | # once patcher is stopped, clean it. This is required to create a new 2026-04-02 12:50:04.313543 | ubuntu-noble | # fresh patcher on self.start() 2026-04-02 12:50:04.313552 | ubuntu-noble | self._patcher = None 2026-04-02 12:50:04.313561 | ubuntu-noble | 2026-04-02 12:50:04.313570 | ubuntu-noble | if not self.assert_all_requests_are_fired: 2026-04-02 12:50:04.313579 | ubuntu-noble | return 2026-04-02 12:50:04.313588 | ubuntu-noble | 2026-04-02 12:50:04.313597 | ubuntu-noble | if not allow_assert: 2026-04-02 12:50:04.313606 | ubuntu-noble | return 2026-04-02 12:50:04.313615 | ubuntu-noble | 2026-04-02 12:50:04.313625 | ubuntu-noble | not_called = [m for m in self.registered() if m.call_count == 0] 2026-04-02 12:50:04.313634 | ubuntu-noble | if not_called: 2026-04-02 12:50:04.313652 | ubuntu-noble | > raise AssertionError( 2026-04-02 12:50:04.313677 | ubuntu-noble | "Not all requests have been executed {!r}".format( 2026-04-02 12:50:04.313686 | ubuntu-noble | [(match.method, match.url) for match in not_called] 2026-04-02 12:50:04.313695 | ubuntu-noble | ) 2026-04-02 12:50:04.313705 | ubuntu-noble | ) 2026-04-02 12:50:04.313714 | ubuntu-noble | E AssertionError: Not all requests have been executed [('PATCH', re.compile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\w'))] 2026-04-02 12:50:04.313723 | ubuntu-noble | 2026-04-02 12:50:04.313732 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:1235: AssertionError 2026-04-02 12:50:04.313741 | ubuntu-noble | _ TestDriver.test_update_nodegroup[auto_healing_enabled=False-auto_scaling_enabled=True] _ 2026-04-02 12:50:04.313750 | ubuntu-noble | 2026-04-02 12:50:04.313759 | ubuntu-noble | self = 2026-04-02 12:50:04.313769 | ubuntu-noble | context = 2026-04-02 12:50:04.313778 | ubuntu-noble | ubuntu_driver = 2026-04-02 12:50:04.313787 | ubuntu-noble | requests_mock = 2026-04-02 12:50:04.313796 | ubuntu-noble | 2026-04-02 12:50:04.313805 | ubuntu-noble | def test_update_nodegroup(self, context, ubuntu_driver, requests_mock): 2026-04-02 12:50:04.313814 | ubuntu-noble | with requests_mock as rsps: 2026-04-02 12:50:04.313823 | ubuntu-noble | self.setup_node_group_tests( 2026-04-02 12:50:04.313832 | ubuntu-noble | rsps, 2026-04-02 12:50:04.313841 | ubuntu-noble | before=[ 2026-04-02 12:50:04.313872 | ubuntu-noble | { 2026-04-02 12:50:04.313887 | ubuntu-noble | "name": self.node_group.name, 2026-04-02 12:50:04.313896 | ubuntu-noble | } 2026-04-02 12:50:04.313905 | ubuntu-noble | ], 2026-04-02 12:50:04.313914 | ubuntu-noble | after=[ 2026-04-02 12:50:04.313923 | ubuntu-noble | resources.mutate_machine_deployment( 2026-04-02 12:50:04.313932 | ubuntu-noble | context, 2026-04-02 12:50:04.313941 | ubuntu-noble | self.cluster, 2026-04-02 12:50:04.313950 | ubuntu-noble | self.node_group, 2026-04-02 12:50:04.313959 | ubuntu-noble | { 2026-04-02 12:50:04.313968 | ubuntu-noble | "name": self.node_group.name, 2026-04-02 12:50:04.313977 | ubuntu-noble | }, 2026-04-02 12:50:04.313986 | ubuntu-noble | ), 2026-04-02 12:50:04.313995 | ubuntu-noble | ], 2026-04-02 12:50:04.314004 | ubuntu-noble | ) 2026-04-02 12:50:04.314013 | ubuntu-noble | 2026-04-02 12:50:04.314023 | ubuntu-noble | > ubuntu_driver.update_nodegroup(context, self.cluster, self.node_group) 2026-04-02 12:50:04.314033 | ubuntu-noble | 2026-04-02 12:50:04.314042 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py:385: 2026-04-02 12:50:04.314051 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 12:50:04.314060 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/driver.py:43: in wrapper 2026-04-02 12:50:04.314070 | ubuntu-noble | return func(*args, **kwargs) 2026-04-02 12:50:04.314079 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.314088 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/driver.py:601: in update_nodegroup 2026-04-02 12:50:04.314097 | ubuntu-noble | self._update_nodegroup(context, cluster, nodegroup) 2026-04-02 12:50:04.314106 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/driver.py:631: in _update_nodegroup 2026-04-02 12:50:04.314115 | ubuntu-noble | resources.migrate_machineset_failure_domain( 2026-04-02 12:50:04.314133 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/resources.py:870: in migrate_machineset_failure_domain 2026-04-02 12:50:04.314142 | ubuntu-noble | machine_sets = objects.MachineSet.for_node_group(pykube_api, cluster, node_group) 2026-04-02 12:50:04.314151 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.314161 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/objects.py:154: in for_node_group 2026-04-02 12:50:04.314170 | ubuntu-noble | return list(mss) 2026-04-02 12:50:04.314179 | ubuntu-noble | ^^^^^^^^^ 2026-04-02 12:50:04.314198 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/query.py:197: in __iter__ 2026-04-02 12:50:04.314207 | ubuntu-noble | return iter(self.query_cache["objects"]) 2026-04-02 12:50:04.314216 | ubuntu-noble | ^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.314225 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/query.py:187: in query_cache 2026-04-02 12:50:04.314234 | ubuntu-noble | cache["response"] = self.execute().json() 2026-04-02 12:50:04.314244 | ubuntu-noble | ^^^^^^^^^^^^^^ 2026-04-02 12:50:04.314252 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/query.py:161: in execute 2026-04-02 12:50:04.314262 | ubuntu-noble | r = self.api.get(**kwargs) 2026-04-02 12:50:04.314271 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.314280 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/http.py:465: in get 2026-04-02 12:50:04.314289 | ubuntu-noble | return self.session.get(*args, **self.get_kwargs(**kwargs)) 2026-04-02 12:50:04.314298 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.314309 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/requests/sessions.py:605: in get 2026-04-02 12:50:04.314322 | ubuntu-noble | return self.request("GET", url, **kwargs) 2026-04-02 12:50:04.314334 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.314347 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/requests/sessions.py:592: in request 2026-04-02 12:50:04.314359 | ubuntu-noble | resp = self.send(prep, **send_kwargs) 2026-04-02 12:50:04.314370 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.314382 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/requests/sessions.py:706: in send 2026-04-02 12:50:04.314393 | ubuntu-noble | r = adapter.send(request, **kwargs) 2026-04-02 12:50:04.314404 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.314413 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/http.py:181: in send 2026-04-02 12:50:04.314423 | ubuntu-noble | response = self._do_send(request, **kwargs) 2026-04-02 12:50:04.314479 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.314489 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:1204: in send 2026-04-02 12:50:04.314498 | ubuntu-noble | return self._on_request(adapter, request, **kwargs) 2026-04-02 12:50:04.314507 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.314516 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 12:50:04.314525 | ubuntu-noble | 2026-04-02 12:50:04.314534 | ubuntu-noble | self = 2026-04-02 12:50:04.314543 | ubuntu-noble | adapter = 2026-04-02 12:50:04.314552 | ubuntu-noble | request = , retries = None 2026-04-02 12:50:04.314561 | ubuntu-noble | kwargs = {'cert': None, 'proxies': OrderedDict(), 'stream': False, 'timeout': 10, ...} 2026-04-02 12:50:04.314570 | ubuntu-noble | request_url = 'http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/machinesets?labelSelector=cluster.x-k8s.io%2Fcluster-name%3D047c6319-7abd-4bd9-a033-8c6af0173cd0%2Ctopology.cluster.x-k8s.io%2Fdeployment-name%3Ddefault-worker' 2026-04-02 12:50:04.314580 | ubuntu-noble | match = None 2026-04-02 12:50:04.314589 | ubuntu-noble | match_failed_reasons = ['URL does not match', 'Method does not match'] 2026-04-02 12:50:04.314598 | ubuntu-noble | resp_callback = None 2026-04-02 12:50:04.314607 | ubuntu-noble | error_msg = "Connection refused by Responses - the call doesn't match any registered mock.\n\nRequest: \n- GET http://localhost/ap...pile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\\\w') Method does not match\n" 2026-04-02 12:50:04.314616 | ubuntu-noble | 2026-04-02 12:50:04.314625 | ubuntu-noble | def _on_request( 2026-04-02 12:50:04.314634 | ubuntu-noble | self, 2026-04-02 12:50:04.314644 | ubuntu-noble | adapter: "HTTPAdapter", 2026-04-02 12:50:04.314653 | ubuntu-noble | request: "PreparedRequest", 2026-04-02 12:50:04.314662 | ubuntu-noble | *, 2026-04-02 12:50:04.314671 | ubuntu-noble | retries: Optional["_Retry"] = None, 2026-04-02 12:50:04.314680 | ubuntu-noble | **kwargs: Any, 2026-04-02 12:50:04.314689 | ubuntu-noble | ) -> "models.Response": 2026-04-02 12:50:04.314698 | ubuntu-noble | # add attributes params and req_kwargs to 'request' object for further match comparison 2026-04-02 12:50:04.314719 | ubuntu-noble | # original request object does not have these attributes 2026-04-02 12:50:04.314728 | ubuntu-noble | request.params = self._parse_request_params(request.path_url) # type: ignore[attr-defined] 2026-04-02 12:50:04.314737 | ubuntu-noble | request.req_kwargs = kwargs # type: ignore[attr-defined] 2026-04-02 12:50:04.314746 | ubuntu-noble | request_url = str(request.url) 2026-04-02 12:50:04.314755 | ubuntu-noble | request.body = self._read_filelike_body(request.body) 2026-04-02 12:50:04.314764 | ubuntu-noble | 2026-04-02 12:50:04.314773 | ubuntu-noble | match, match_failed_reasons = self._find_match(request) 2026-04-02 12:50:04.314782 | ubuntu-noble | resp_callback = self.response_callback 2026-04-02 12:50:04.314791 | ubuntu-noble | 2026-04-02 12:50:04.314800 | ubuntu-noble | if match is None: 2026-04-02 12:50:04.314809 | ubuntu-noble | if any( 2026-04-02 12:50:04.314818 | ubuntu-noble | [ 2026-04-02 12:50:04.314827 | ubuntu-noble | p.match(request_url) 2026-04-02 12:50:04.314836 | ubuntu-noble | if isinstance(p, Pattern) 2026-04-02 12:50:04.314845 | ubuntu-noble | else request_url.startswith(p) 2026-04-02 12:50:04.315108 | ubuntu-noble | for p in self.passthru_prefixes 2026-04-02 12:50:04.315119 | ubuntu-noble | ] 2026-04-02 12:50:04.315124 | ubuntu-noble | ): 2026-04-02 12:50:04.315131 | ubuntu-noble | logger.info("request.allowed-passthru", extra={"url": request_url}) 2026-04-02 12:50:04.315137 | ubuntu-noble | return self._real_send(adapter, request, **kwargs) # type: ignore 2026-04-02 12:50:04.315143 | ubuntu-noble | 2026-04-02 12:50:04.315173 | ubuntu-noble | error_msg = ( 2026-04-02 12:50:04.315230 | ubuntu-noble | "Connection refused by Responses - the call doesn't " 2026-04-02 12:50:04.315241 | ubuntu-noble | "match any registered mock.\n\n" 2026-04-02 12:50:04.315250 | ubuntu-noble | "Request: \n" 2026-04-02 12:50:04.315255 | ubuntu-noble | f"- {request.method} {request_url}\n\n" 2026-04-02 12:50:04.315261 | ubuntu-noble | "Available matches:\n" 2026-04-02 12:50:04.315266 | ubuntu-noble | ) 2026-04-02 12:50:04.315271 | ubuntu-noble | for i, m in enumerate(self.registered()): 2026-04-02 12:50:04.315276 | ubuntu-noble | error_msg += "- {} {} {}\n".format( 2026-04-02 12:50:04.315281 | ubuntu-noble | m.method, m.url, match_failed_reasons[i] 2026-04-02 12:50:04.315286 | ubuntu-noble | ) 2026-04-02 12:50:04.315292 | ubuntu-noble | 2026-04-02 12:50:04.315297 | ubuntu-noble | if self.passthru_prefixes: 2026-04-02 12:50:04.315302 | ubuntu-noble | error_msg += "Passthru prefixes:\n" 2026-04-02 12:50:04.315307 | ubuntu-noble | for p in self.passthru_prefixes: 2026-04-02 12:50:04.315312 | ubuntu-noble | error_msg += f"- {p}\n" 2026-04-02 12:50:04.315317 | ubuntu-noble | 2026-04-02 12:50:04.315322 | ubuntu-noble | response = ConnectionError(error_msg) 2026-04-02 12:50:04.315328 | ubuntu-noble | response.request = request 2026-04-02 12:50:04.315334 | ubuntu-noble | 2026-04-02 12:50:04.315341 | ubuntu-noble | self._calls.add(request, response) 2026-04-02 12:50:04.315348 | ubuntu-noble | > raise response 2026-04-02 12:50:04.315355 | ubuntu-noble | E requests.exceptions.ConnectionError: Connection refused by Responses - the call doesn't match any registered mock. 2026-04-02 12:50:04.315362 | ubuntu-noble | E 2026-04-02 12:50:04.315370 | ubuntu-noble | E Request: 2026-04-02 12:50:04.315376 | ubuntu-noble | E - GET http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/machinesets?labelSelector=cluster.x-k8s.io%2Fcluster-name%3D047c6319-7abd-4bd9-a033-8c6af0173cd0%2Ctopology.cluster.x-k8s.io%2Fdeployment-name%3Ddefault-worker 2026-04-02 12:50:04.315381 | ubuntu-noble | E 2026-04-02 12:50:04.315386 | ubuntu-noble | E Available matches: 2026-04-02 12:50:04.315392 | ubuntu-noble | E - GET re.compile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\w') URL does not match 2026-04-02 12:50:04.315397 | ubuntu-noble | E - PATCH re.compile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\w') Method does not match 2026-04-02 12:50:04.315402 | ubuntu-noble | 2026-04-02 12:50:04.315408 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:1129: ConnectionError 2026-04-02 12:50:04.315421 | ubuntu-noble | 2026-04-02 12:50:04.315426 | ubuntu-noble | During handling of the above exception, another exception occurred: 2026-04-02 12:50:04.315431 | ubuntu-noble | 2026-04-02 12:50:04.315436 | ubuntu-noble | self = 2026-04-02 12:50:04.315442 | ubuntu-noble | context = 2026-04-02 12:50:04.315447 | ubuntu-noble | ubuntu_driver = 2026-04-02 12:50:04.315452 | ubuntu-noble | requests_mock = 2026-04-02 12:50:04.315457 | ubuntu-noble | 2026-04-02 12:50:04.315463 | ubuntu-noble | def test_update_nodegroup(self, context, ubuntu_driver, requests_mock): 2026-04-02 12:50:04.315468 | ubuntu-noble | > with requests_mock as rsps: 2026-04-02 12:50:04.315473 | ubuntu-noble | 2026-04-02 12:50:04.315478 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py:365: 2026-04-02 12:50:04.315483 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 12:50:04.315488 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:995: in __exit__ 2026-04-02 12:50:04.315494 | ubuntu-noble | self.stop(allow_assert=True) 2026-04-02 12:50:04.315499 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 12:50:04.315504 | ubuntu-noble | 2026-04-02 12:50:04.315509 | ubuntu-noble | self = , allow_assert = True 2026-04-02 12:50:04.315514 | ubuntu-noble | 2026-04-02 12:50:04.315519 | ubuntu-noble | def stop(self, allow_assert: bool = True) -> None: 2026-04-02 12:50:04.315525 | ubuntu-noble | if self._patcher: 2026-04-02 12:50:04.315530 | ubuntu-noble | # prevent stopping unstarted patchers 2026-04-02 12:50:04.315535 | ubuntu-noble | self._patcher.stop() 2026-04-02 12:50:04.315540 | ubuntu-noble | 2026-04-02 12:50:04.315545 | ubuntu-noble | # once patcher is stopped, clean it. This is required to create a new 2026-04-02 12:50:04.315550 | ubuntu-noble | # fresh patcher on self.start() 2026-04-02 12:50:04.315556 | ubuntu-noble | self._patcher = None 2026-04-02 12:50:04.315561 | ubuntu-noble | 2026-04-02 12:50:04.315566 | ubuntu-noble | if not self.assert_all_requests_are_fired: 2026-04-02 12:50:04.315571 | ubuntu-noble | return 2026-04-02 12:50:04.315576 | ubuntu-noble | 2026-04-02 12:50:04.315582 | ubuntu-noble | if not allow_assert: 2026-04-02 12:50:04.315587 | ubuntu-noble | return 2026-04-02 12:50:04.315592 | ubuntu-noble | 2026-04-02 12:50:04.315597 | ubuntu-noble | not_called = [m for m in self.registered() if m.call_count == 0] 2026-04-02 12:50:04.315602 | ubuntu-noble | if not_called: 2026-04-02 12:50:04.315607 | ubuntu-noble | > raise AssertionError( 2026-04-02 12:50:04.315612 | ubuntu-noble | "Not all requests have been executed {!r}".format( 2026-04-02 12:50:04.315618 | ubuntu-noble | [(match.method, match.url) for match in not_called] 2026-04-02 12:50:04.315623 | ubuntu-noble | ) 2026-04-02 12:50:04.315628 | ubuntu-noble | ) 2026-04-02 12:50:04.315633 | ubuntu-noble | E AssertionError: Not all requests have been executed [('PATCH', re.compile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\w'))] 2026-04-02 12:50:04.315639 | ubuntu-noble | 2026-04-02 12:50:04.315644 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:1235: AssertionError 2026-04-02 12:50:04.315649 | ubuntu-noble | _ TestDriver.test_update_nodegroup[auto_healing_enabled=False-auto_scaling_enabled=False] _ 2026-04-02 12:50:04.315654 | ubuntu-noble | 2026-04-02 12:50:04.315659 | ubuntu-noble | self = 2026-04-02 12:50:04.315664 | ubuntu-noble | context = 2026-04-02 12:50:04.315670 | ubuntu-noble | ubuntu_driver = 2026-04-02 12:50:04.315675 | ubuntu-noble | requests_mock = 2026-04-02 12:50:04.315680 | ubuntu-noble | 2026-04-02 12:50:04.315685 | ubuntu-noble | def test_update_nodegroup(self, context, ubuntu_driver, requests_mock): 2026-04-02 12:50:04.315690 | ubuntu-noble | with requests_mock as rsps: 2026-04-02 12:50:04.315695 | ubuntu-noble | self.setup_node_group_tests( 2026-04-02 12:50:04.315700 | ubuntu-noble | rsps, 2026-04-02 12:50:04.315705 | ubuntu-noble | before=[ 2026-04-02 12:50:04.315715 | ubuntu-noble | { 2026-04-02 12:50:04.315720 | ubuntu-noble | "name": self.node_group.name, 2026-04-02 12:50:04.315731 | ubuntu-noble | } 2026-04-02 12:50:04.315736 | ubuntu-noble | ], 2026-04-02 12:50:04.315741 | ubuntu-noble | after=[ 2026-04-02 12:50:04.315746 | ubuntu-noble | resources.mutate_machine_deployment( 2026-04-02 12:50:04.315756 | ubuntu-noble | context, 2026-04-02 12:50:04.315761 | ubuntu-noble | self.cluster, 2026-04-02 12:50:04.315766 | ubuntu-noble | self.node_group, 2026-04-02 12:50:04.315772 | ubuntu-noble | { 2026-04-02 12:50:04.315777 | ubuntu-noble | "name": self.node_group.name, 2026-04-02 12:50:04.315782 | ubuntu-noble | }, 2026-04-02 12:50:04.315787 | ubuntu-noble | ), 2026-04-02 12:50:04.315792 | ubuntu-noble | ], 2026-04-02 12:50:04.315797 | ubuntu-noble | ) 2026-04-02 12:50:04.315802 | ubuntu-noble | 2026-04-02 12:50:04.315808 | ubuntu-noble | > ubuntu_driver.update_nodegroup(context, self.cluster, self.node_group) 2026-04-02 12:50:04.315813 | ubuntu-noble | 2026-04-02 12:50:04.315818 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py:385: 2026-04-02 12:50:04.315823 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 12:50:04.315828 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/driver.py:43: in wrapper 2026-04-02 12:50:04.315833 | ubuntu-noble | return func(*args, **kwargs) 2026-04-02 12:50:04.315839 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.315844 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/driver.py:601: in update_nodegroup 2026-04-02 12:50:04.315865 | ubuntu-noble | self._update_nodegroup(context, cluster, nodegroup) 2026-04-02 12:50:04.315875 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/driver.py:631: in _update_nodegroup 2026-04-02 12:50:04.315880 | ubuntu-noble | resources.migrate_machineset_failure_domain( 2026-04-02 12:50:04.315885 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/resources.py:870: in migrate_machineset_failure_domain 2026-04-02 12:50:04.315890 | ubuntu-noble | machine_sets = objects.MachineSet.for_node_group(pykube_api, cluster, node_group) 2026-04-02 12:50:04.315896 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.315901 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/objects.py:154: in for_node_group 2026-04-02 12:50:04.315906 | ubuntu-noble | return list(mss) 2026-04-02 12:50:04.315911 | ubuntu-noble | ^^^^^^^^^ 2026-04-02 12:50:04.315916 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/query.py:197: in __iter__ 2026-04-02 12:50:04.315921 | ubuntu-noble | return iter(self.query_cache["objects"]) 2026-04-02 12:50:04.315926 | ubuntu-noble | ^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.315931 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/query.py:187: in query_cache 2026-04-02 12:50:04.315937 | ubuntu-noble | cache["response"] = self.execute().json() 2026-04-02 12:50:04.315942 | ubuntu-noble | ^^^^^^^^^^^^^^ 2026-04-02 12:50:04.315947 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/query.py:161: in execute 2026-04-02 12:50:04.315952 | ubuntu-noble | r = self.api.get(**kwargs) 2026-04-02 12:50:04.315957 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.315962 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/http.py:465: in get 2026-04-02 12:50:04.315967 | ubuntu-noble | return self.session.get(*args, **self.get_kwargs(**kwargs)) 2026-04-02 12:50:04.315972 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.315977 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/requests/sessions.py:605: in get 2026-04-02 12:50:04.315983 | ubuntu-noble | return self.request("GET", url, **kwargs) 2026-04-02 12:50:04.315988 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.315993 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/requests/sessions.py:592: in request 2026-04-02 12:50:04.315998 | ubuntu-noble | resp = self.send(prep, **send_kwargs) 2026-04-02 12:50:04.316003 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.316008 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/requests/sessions.py:706: in send 2026-04-02 12:50:04.316019 | ubuntu-noble | r = adapter.send(request, **kwargs) 2026-04-02 12:50:04.316024 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.316029 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/http.py:181: in send 2026-04-02 12:50:04.316035 | ubuntu-noble | response = self._do_send(request, **kwargs) 2026-04-02 12:50:04.316040 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.316045 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:1204: in send 2026-04-02 12:50:04.316050 | ubuntu-noble | return self._on_request(adapter, request, **kwargs) 2026-04-02 12:50:04.316055 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.316060 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 12:50:04.316065 | ubuntu-noble | 2026-04-02 12:50:04.316071 | ubuntu-noble | self = 2026-04-02 12:50:04.316076 | ubuntu-noble | adapter = 2026-04-02 12:50:04.316081 | ubuntu-noble | request = , retries = None 2026-04-02 12:50:04.316086 | ubuntu-noble | kwargs = {'cert': None, 'proxies': OrderedDict(), 'stream': False, 'timeout': 10, ...} 2026-04-02 12:50:04.316091 | ubuntu-noble | request_url = 'http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/machinesets?labelSelector=cluster.x-k8s.io%2Fcluster-name%3D047c6319-7abd-4bd9-a033-8c6af0173cd0%2Ctopology.cluster.x-k8s.io%2Fdeployment-name%3Ddefault-worker' 2026-04-02 12:50:04.316096 | ubuntu-noble | match = None 2026-04-02 12:50:04.316102 | ubuntu-noble | match_failed_reasons = ['URL does not match', 'Method does not match'] 2026-04-02 12:50:04.316107 | ubuntu-noble | resp_callback = None 2026-04-02 12:50:04.316112 | ubuntu-noble | error_msg = "Connection refused by Responses - the call doesn't match any registered mock.\n\nRequest: \n- GET http://localhost/ap...pile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\\\w') Method does not match\n" 2026-04-02 12:50:04.316117 | ubuntu-noble | 2026-04-02 12:50:04.316123 | ubuntu-noble | def _on_request( 2026-04-02 12:50:04.316128 | ubuntu-noble | self, 2026-04-02 12:50:04.316133 | ubuntu-noble | adapter: "HTTPAdapter", 2026-04-02 12:50:04.316138 | ubuntu-noble | request: "PreparedRequest", 2026-04-02 12:50:04.316143 | ubuntu-noble | *, 2026-04-02 12:50:04.316148 | ubuntu-noble | retries: Optional["_Retry"] = None, 2026-04-02 12:50:04.316153 | ubuntu-noble | **kwargs: Any, 2026-04-02 12:50:04.316159 | ubuntu-noble | ) -> "models.Response": 2026-04-02 12:50:04.316168 | ubuntu-noble | # add attributes params and req_kwargs to 'request' object for further match comparison 2026-04-02 12:50:04.316174 | ubuntu-noble | # original request object does not have these attributes 2026-04-02 12:50:04.316179 | ubuntu-noble | request.params = self._parse_request_params(request.path_url) # type: ignore[attr-defined] 2026-04-02 12:50:04.316184 | ubuntu-noble | request.req_kwargs = kwargs # type: ignore[attr-defined] 2026-04-02 12:50:04.316189 | ubuntu-noble | request_url = str(request.url) 2026-04-02 12:50:04.316194 | ubuntu-noble | request.body = self._read_filelike_body(request.body) 2026-04-02 12:50:04.316199 | ubuntu-noble | 2026-04-02 12:50:04.316205 | ubuntu-noble | match, match_failed_reasons = self._find_match(request) 2026-04-02 12:50:04.316210 | ubuntu-noble | resp_callback = self.response_callback 2026-04-02 12:50:04.316215 | ubuntu-noble | 2026-04-02 12:50:04.316220 | ubuntu-noble | if match is None: 2026-04-02 12:50:04.316225 | ubuntu-noble | if any( 2026-04-02 12:50:04.316231 | ubuntu-noble | [ 2026-04-02 12:50:04.316236 | ubuntu-noble | p.match(request_url) 2026-04-02 12:50:04.316241 | ubuntu-noble | if isinstance(p, Pattern) 2026-04-02 12:50:04.316246 | ubuntu-noble | else request_url.startswith(p) 2026-04-02 12:50:04.316251 | ubuntu-noble | for p in self.passthru_prefixes 2026-04-02 12:50:04.316260 | ubuntu-noble | ] 2026-04-02 12:50:04.316266 | ubuntu-noble | ): 2026-04-02 12:50:04.316271 | ubuntu-noble | logger.info("request.allowed-passthru", extra={"url": request_url}) 2026-04-02 12:50:04.316276 | ubuntu-noble | return self._real_send(adapter, request, **kwargs) # type: ignore 2026-04-02 12:50:04.316281 | ubuntu-noble | 2026-04-02 12:50:04.316291 | ubuntu-noble | error_msg = ( 2026-04-02 12:50:04.316296 | ubuntu-noble | "Connection refused by Responses - the call doesn't " 2026-04-02 12:50:04.316302 | ubuntu-noble | "match any registered mock.\n\n" 2026-04-02 12:50:04.316307 | ubuntu-noble | "Request: \n" 2026-04-02 12:50:04.316312 | ubuntu-noble | f"- {request.method} {request_url}\n\n" 2026-04-02 12:50:04.316317 | ubuntu-noble | "Available matches:\n" 2026-04-02 12:50:04.316322 | ubuntu-noble | ) 2026-04-02 12:50:04.316328 | ubuntu-noble | for i, m in enumerate(self.registered()): 2026-04-02 12:50:04.316333 | ubuntu-noble | error_msg += "- {} {} {}\n".format( 2026-04-02 12:50:04.316338 | ubuntu-noble | m.method, m.url, match_failed_reasons[i] 2026-04-02 12:50:04.316343 | ubuntu-noble | ) 2026-04-02 12:50:04.316348 | ubuntu-noble | 2026-04-02 12:50:04.316354 | ubuntu-noble | if self.passthru_prefixes: 2026-04-02 12:50:04.316361 | ubuntu-noble | error_msg += "Passthru prefixes:\n" 2026-04-02 12:50:04.316368 | ubuntu-noble | for p in self.passthru_prefixes: 2026-04-02 12:50:04.316375 | ubuntu-noble | error_msg += f"- {p}\n" 2026-04-02 12:50:04.316382 | ubuntu-noble | 2026-04-02 12:50:04.316390 | ubuntu-noble | response = ConnectionError(error_msg) 2026-04-02 12:50:04.316395 | ubuntu-noble | response.request = request 2026-04-02 12:50:04.316400 | ubuntu-noble | 2026-04-02 12:50:04.316405 | ubuntu-noble | self._calls.add(request, response) 2026-04-02 12:50:04.316410 | ubuntu-noble | > raise response 2026-04-02 12:50:04.316416 | ubuntu-noble | E requests.exceptions.ConnectionError: Connection refused by Responses - the call doesn't match any registered mock. 2026-04-02 12:50:04.316421 | ubuntu-noble | E 2026-04-02 12:50:04.316426 | ubuntu-noble | E Request: 2026-04-02 12:50:04.316431 | ubuntu-noble | E - GET http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/machinesets?labelSelector=cluster.x-k8s.io%2Fcluster-name%3D047c6319-7abd-4bd9-a033-8c6af0173cd0%2Ctopology.cluster.x-k8s.io%2Fdeployment-name%3Ddefault-worker 2026-04-02 12:50:04.316437 | ubuntu-noble | E 2026-04-02 12:50:04.316442 | ubuntu-noble | E Available matches: 2026-04-02 12:50:04.316447 | ubuntu-noble | E - GET re.compile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\w') URL does not match 2026-04-02 12:50:04.316452 | ubuntu-noble | E - PATCH re.compile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\w') Method does not match 2026-04-02 12:50:04.316458 | ubuntu-noble | 2026-04-02 12:50:04.316463 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:1129: ConnectionError 2026-04-02 12:50:04.316468 | ubuntu-noble | 2026-04-02 12:50:04.316473 | ubuntu-noble | During handling of the above exception, another exception occurred: 2026-04-02 12:50:04.316478 | ubuntu-noble | 2026-04-02 12:50:04.316484 | ubuntu-noble | self = 2026-04-02 12:50:04.316489 | ubuntu-noble | context = 2026-04-02 12:50:04.316494 | ubuntu-noble | ubuntu_driver = 2026-04-02 12:50:04.316499 | ubuntu-noble | requests_mock = 2026-04-02 12:50:04.316504 | ubuntu-noble | 2026-04-02 12:50:04.316509 | ubuntu-noble | def test_update_nodegroup(self, context, ubuntu_driver, requests_mock): 2026-04-02 12:50:04.316514 | ubuntu-noble | > with requests_mock as rsps: 2026-04-02 12:50:04.316520 | ubuntu-noble | 2026-04-02 12:50:04.316525 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py:365: 2026-04-02 12:50:04.316530 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 12:50:04.316535 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:995: in __exit__ 2026-04-02 12:50:04.316540 | ubuntu-noble | self.stop(allow_assert=True) 2026-04-02 12:50:04.316545 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 12:50:04.316551 | ubuntu-noble | 2026-04-02 12:50:04.316556 | ubuntu-noble | self = , allow_assert = True 2026-04-02 12:50:04.316561 | ubuntu-noble | 2026-04-02 12:50:04.316566 | ubuntu-noble | def stop(self, allow_assert: bool = True) -> None: 2026-04-02 12:50:04.316571 | ubuntu-noble | if self._patcher: 2026-04-02 12:50:04.316587 | ubuntu-noble | # prevent stopping unstarted patchers 2026-04-02 12:50:04.316592 | ubuntu-noble | self._patcher.stop() 2026-04-02 12:50:04.316597 | ubuntu-noble | 2026-04-02 12:50:04.316602 | ubuntu-noble | # once patcher is stopped, clean it. This is required to create a new 2026-04-02 12:50:04.316607 | ubuntu-noble | # fresh patcher on self.start() 2026-04-02 12:50:04.316613 | ubuntu-noble | self._patcher = None 2026-04-02 12:50:04.316618 | ubuntu-noble | 2026-04-02 12:50:04.316623 | ubuntu-noble | if not self.assert_all_requests_are_fired: 2026-04-02 12:50:04.316628 | ubuntu-noble | return 2026-04-02 12:50:04.316633 | ubuntu-noble | 2026-04-02 12:50:04.316638 | ubuntu-noble | if not allow_assert: 2026-04-02 12:50:04.316644 | ubuntu-noble | return 2026-04-02 12:50:04.316649 | ubuntu-noble | 2026-04-02 12:50:04.316654 | ubuntu-noble | not_called = [m for m in self.registered() if m.call_count == 0] 2026-04-02 12:50:04.316659 | ubuntu-noble | if not_called: 2026-04-02 12:50:04.316669 | ubuntu-noble | > raise AssertionError( 2026-04-02 12:50:04.316674 | ubuntu-noble | "Not all requests have been executed {!r}".format( 2026-04-02 12:50:04.316680 | ubuntu-noble | [(match.method, match.url) for match in not_called] 2026-04-02 12:50:04.316685 | ubuntu-noble | ) 2026-04-02 12:50:04.316690 | ubuntu-noble | ) 2026-04-02 12:50:04.316695 | ubuntu-noble | E AssertionError: Not all requests have been executed [('PATCH', re.compile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\w'))] 2026-04-02 12:50:04.316700 | ubuntu-noble | 2026-04-02 12:50:04.316706 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:1235: AssertionError 2026-04-02 12:50:04.316711 | ubuntu-noble | _ TestDriver.test_update_nodegroup_with_multiple_node_groups[auto_healing_enabled=True-auto_scaling_enabled=True] _ 2026-04-02 12:50:04.316716 | ubuntu-noble | 2026-04-02 12:50:04.316721 | ubuntu-noble | self = 2026-04-02 12:50:04.316726 | ubuntu-noble | context = 2026-04-02 12:50:04.316732 | ubuntu-noble | ubuntu_driver = 2026-04-02 12:50:04.316737 | ubuntu-noble | requests_mock = 2026-04-02 12:50:04.316742 | ubuntu-noble | 2026-04-02 12:50:04.316747 | ubuntu-noble | def test_update_nodegroup_with_multiple_node_groups( 2026-04-02 12:50:04.316752 | ubuntu-noble | self, context, ubuntu_driver, requests_mock 2026-04-02 12:50:04.316757 | ubuntu-noble | ): 2026-04-02 12:50:04.316762 | ubuntu-noble | with requests_mock as rsps: 2026-04-02 12:50:04.316768 | ubuntu-noble | self.setup_node_group_tests( 2026-04-02 12:50:04.316773 | ubuntu-noble | rsps, 2026-04-02 12:50:04.316778 | ubuntu-noble | before=[ 2026-04-02 12:50:04.316783 | ubuntu-noble | { 2026-04-02 12:50:04.316788 | ubuntu-noble | "name": "unrelated-machine-deployment", 2026-04-02 12:50:04.316793 | ubuntu-noble | "replicas": 1, 2026-04-02 12:50:04.316798 | ubuntu-noble | "metadata": { 2026-04-02 12:50:04.316804 | ubuntu-noble | "annotations": {}, 2026-04-02 12:50:04.316809 | ubuntu-noble | }, 2026-04-02 12:50:04.316814 | ubuntu-noble | }, 2026-04-02 12:50:04.316819 | ubuntu-noble | { 2026-04-02 12:50:04.316824 | ubuntu-noble | "name": self.node_group.name, 2026-04-02 12:50:04.316829 | ubuntu-noble | "replicas": 1, 2026-04-02 12:50:04.316834 | ubuntu-noble | "metadata": { 2026-04-02 12:50:04.316840 | ubuntu-noble | "annotations": {}, 2026-04-02 12:50:04.316845 | ubuntu-noble | }, 2026-04-02 12:50:04.316864 | ubuntu-noble | }, 2026-04-02 12:50:04.316873 | ubuntu-noble | ], 2026-04-02 12:50:04.316878 | ubuntu-noble | after=[ 2026-04-02 12:50:04.316883 | ubuntu-noble | { 2026-04-02 12:50:04.316889 | ubuntu-noble | "name": "unrelated-machine-deployment", 2026-04-02 12:50:04.316894 | ubuntu-noble | "replicas": 1, 2026-04-02 12:50:04.316899 | ubuntu-noble | "metadata": { 2026-04-02 12:50:04.316904 | ubuntu-noble | "annotations": {}, 2026-04-02 12:50:04.316909 | ubuntu-noble | }, 2026-04-02 12:50:04.316920 | ubuntu-noble | }, 2026-04-02 12:50:04.316925 | ubuntu-noble | resources.mutate_machine_deployment( 2026-04-02 12:50:04.316930 | ubuntu-noble | context, 2026-04-02 12:50:04.316935 | ubuntu-noble | self.cluster, 2026-04-02 12:50:04.316940 | ubuntu-noble | self.node_group, 2026-04-02 12:50:04.316950 | ubuntu-noble | { 2026-04-02 12:50:04.316955 | ubuntu-noble | "name": self.node_group.name, 2026-04-02 12:50:04.316960 | ubuntu-noble | }, 2026-04-02 12:50:04.316965 | ubuntu-noble | ), 2026-04-02 12:50:04.316971 | ubuntu-noble | ], 2026-04-02 12:50:04.316976 | ubuntu-noble | ) 2026-04-02 12:50:04.316981 | ubuntu-noble | 2026-04-02 12:50:04.316986 | ubuntu-noble | > ubuntu_driver.update_nodegroup(context, self.cluster, self.node_group) 2026-04-02 12:50:04.316991 | ubuntu-noble | 2026-04-02 12:50:04.316997 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py:430: 2026-04-02 12:50:04.317002 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 12:50:04.317007 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/driver.py:43: in wrapper 2026-04-02 12:50:04.317012 | ubuntu-noble | return func(*args, **kwargs) 2026-04-02 12:50:04.317017 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.317022 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/driver.py:601: in update_nodegroup 2026-04-02 12:50:04.317028 | ubuntu-noble | self._update_nodegroup(context, cluster, nodegroup) 2026-04-02 12:50:04.317033 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/driver.py:631: in _update_nodegroup 2026-04-02 12:50:04.317038 | ubuntu-noble | resources.migrate_machineset_failure_domain( 2026-04-02 12:50:04.317043 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/resources.py:870: in migrate_machineset_failure_domain 2026-04-02 12:50:04.317048 | ubuntu-noble | machine_sets = objects.MachineSet.for_node_group(pykube_api, cluster, node_group) 2026-04-02 12:50:04.317053 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.317058 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/objects.py:154: in for_node_group 2026-04-02 12:50:04.317064 | ubuntu-noble | return list(mss) 2026-04-02 12:50:04.317069 | ubuntu-noble | ^^^^^^^^^ 2026-04-02 12:50:04.317074 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/query.py:197: in __iter__ 2026-04-02 12:50:04.317079 | ubuntu-noble | return iter(self.query_cache["objects"]) 2026-04-02 12:50:04.317084 | ubuntu-noble | ^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.317089 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/query.py:187: in query_cache 2026-04-02 12:50:04.317095 | ubuntu-noble | cache["response"] = self.execute().json() 2026-04-02 12:50:04.317100 | ubuntu-noble | ^^^^^^^^^^^^^^ 2026-04-02 12:50:04.317105 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/query.py:161: in execute 2026-04-02 12:50:04.317110 | ubuntu-noble | r = self.api.get(**kwargs) 2026-04-02 12:50:04.317115 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.317120 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/http.py:465: in get 2026-04-02 12:50:04.317125 | ubuntu-noble | return self.session.get(*args, **self.get_kwargs(**kwargs)) 2026-04-02 12:50:04.317131 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.317136 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/requests/sessions.py:605: in get 2026-04-02 12:50:04.317141 | ubuntu-noble | return self.request("GET", url, **kwargs) 2026-04-02 12:50:04.317150 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.317156 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/requests/sessions.py:592: in request 2026-04-02 12:50:04.317161 | ubuntu-noble | resp = self.send(prep, **send_kwargs) 2026-04-02 12:50:04.317166 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.317171 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/requests/sessions.py:706: in send 2026-04-02 12:50:04.317176 | ubuntu-noble | r = adapter.send(request, **kwargs) 2026-04-02 12:50:04.317181 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.317187 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/http.py:181: in send 2026-04-02 12:50:04.317197 | ubuntu-noble | response = self._do_send(request, **kwargs) 2026-04-02 12:50:04.317202 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.317207 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:1204: in send 2026-04-02 12:50:04.317212 | ubuntu-noble | return self._on_request(adapter, request, **kwargs) 2026-04-02 12:50:04.317217 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.317222 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 12:50:04.317227 | ubuntu-noble | 2026-04-02 12:50:04.317233 | ubuntu-noble | self = 2026-04-02 12:50:04.317238 | ubuntu-noble | adapter = 2026-04-02 12:50:04.317243 | ubuntu-noble | request = , retries = None 2026-04-02 12:50:04.317248 | ubuntu-noble | kwargs = {'cert': None, 'proxies': OrderedDict(), 'stream': False, 'timeout': 10, ...} 2026-04-02 12:50:04.317253 | ubuntu-noble | request_url = 'http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/machinesets?labelSelector=cluster.x-k8s.io%2Fcluster-name%3D047c6319-7abd-4bd9-a033-8c6af0173cd0%2Ctopology.cluster.x-k8s.io%2Fdeployment-name%3Ddefault-worker' 2026-04-02 12:50:04.317258 | ubuntu-noble | match = None 2026-04-02 12:50:04.317264 | ubuntu-noble | match_failed_reasons = ['URL does not match', 'Method does not match'] 2026-04-02 12:50:04.317269 | ubuntu-noble | resp_callback = None 2026-04-02 12:50:04.317274 | ubuntu-noble | error_msg = "Connection refused by Responses - the call doesn't match any registered mock.\n\nRequest: \n- GET http://localhost/ap...pile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\\\w') Method does not match\n" 2026-04-02 12:50:04.317279 | ubuntu-noble | 2026-04-02 12:50:04.317284 | ubuntu-noble | def _on_request( 2026-04-02 12:50:04.317289 | ubuntu-noble | self, 2026-04-02 12:50:04.317295 | ubuntu-noble | adapter: "HTTPAdapter", 2026-04-02 12:50:04.317300 | ubuntu-noble | request: "PreparedRequest", 2026-04-02 12:50:04.317305 | ubuntu-noble | *, 2026-04-02 12:50:04.317310 | ubuntu-noble | retries: Optional["_Retry"] = None, 2026-04-02 12:50:04.317315 | ubuntu-noble | **kwargs: Any, 2026-04-02 12:50:04.317321 | ubuntu-noble | ) -> "models.Response": 2026-04-02 12:50:04.317326 | ubuntu-noble | # add attributes params and req_kwargs to 'request' object for further match comparison 2026-04-02 12:50:04.317331 | ubuntu-noble | # original request object does not have these attributes 2026-04-02 12:50:04.317336 | ubuntu-noble | request.params = self._parse_request_params(request.path_url) # type: ignore[attr-defined] 2026-04-02 12:50:04.317341 | ubuntu-noble | request.req_kwargs = kwargs # type: ignore[attr-defined] 2026-04-02 12:50:04.317346 | ubuntu-noble | request_url = str(request.url) 2026-04-02 12:50:04.317351 | ubuntu-noble | request.body = self._read_filelike_body(request.body) 2026-04-02 12:50:04.317357 | ubuntu-noble | 2026-04-02 12:50:04.317362 | ubuntu-noble | match, match_failed_reasons = self._find_match(request) 2026-04-02 12:50:04.317367 | ubuntu-noble | resp_callback = self.response_callback 2026-04-02 12:50:04.317373 | ubuntu-noble | 2026-04-02 12:50:04.317379 | ubuntu-noble | if match is None: 2026-04-02 12:50:04.317386 | ubuntu-noble | if any( 2026-04-02 12:50:04.317393 | ubuntu-noble | [ 2026-04-02 12:50:04.317400 | ubuntu-noble | p.match(request_url) 2026-04-02 12:50:04.317408 | ubuntu-noble | if isinstance(p, Pattern) 2026-04-02 12:50:04.317415 | ubuntu-noble | else request_url.startswith(p) 2026-04-02 12:50:04.317421 | ubuntu-noble | for p in self.passthru_prefixes 2026-04-02 12:50:04.317427 | ubuntu-noble | ] 2026-04-02 12:50:04.317434 | ubuntu-noble | ): 2026-04-02 12:50:04.317440 | ubuntu-noble | logger.info("request.allowed-passthru", extra={"url": request_url}) 2026-04-02 12:50:04.317446 | ubuntu-noble | return self._real_send(adapter, request, **kwargs) # type: ignore 2026-04-02 12:50:04.317452 | ubuntu-noble | 2026-04-02 12:50:04.317459 | ubuntu-noble | error_msg = ( 2026-04-02 12:50:04.317464 | ubuntu-noble | "Connection refused by Responses - the call doesn't " 2026-04-02 12:50:04.317469 | ubuntu-noble | "match any registered mock.\n\n" 2026-04-02 12:50:04.317474 | ubuntu-noble | "Request: \n" 2026-04-02 12:50:04.317486 | ubuntu-noble | f"- {request.method} {request_url}\n\n" 2026-04-02 12:50:04.317491 | ubuntu-noble | "Available matches:\n" 2026-04-02 12:50:04.317496 | ubuntu-noble | ) 2026-04-02 12:50:04.317501 | ubuntu-noble | for i, m in enumerate(self.registered()): 2026-04-02 12:50:04.317507 | ubuntu-noble | error_msg += "- {} {} {}\n".format( 2026-04-02 12:50:04.317512 | ubuntu-noble | m.method, m.url, match_failed_reasons[i] 2026-04-02 12:50:04.317517 | ubuntu-noble | ) 2026-04-02 12:50:04.317522 | ubuntu-noble | 2026-04-02 12:50:04.317527 | ubuntu-noble | if self.passthru_prefixes: 2026-04-02 12:50:04.317532 | ubuntu-noble | error_msg += "Passthru prefixes:\n" 2026-04-02 12:50:04.317537 | ubuntu-noble | for p in self.passthru_prefixes: 2026-04-02 12:50:04.317543 | ubuntu-noble | error_msg += f"- {p}\n" 2026-04-02 12:50:04.317548 | ubuntu-noble | 2026-04-02 12:50:04.317553 | ubuntu-noble | response = ConnectionError(error_msg) 2026-04-02 12:50:04.317558 | ubuntu-noble | response.request = request 2026-04-02 12:50:04.317563 | ubuntu-noble | 2026-04-02 12:50:04.317568 | ubuntu-noble | self._calls.add(request, response) 2026-04-02 12:50:04.317574 | ubuntu-noble | > raise response 2026-04-02 12:50:04.317579 | ubuntu-noble | E requests.exceptions.ConnectionError: Connection refused by Responses - the call doesn't match any registered mock. 2026-04-02 12:50:04.317584 | ubuntu-noble | E 2026-04-02 12:50:04.317589 | ubuntu-noble | E Request: 2026-04-02 12:50:04.317599 | ubuntu-noble | E - GET http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/machinesets?labelSelector=cluster.x-k8s.io%2Fcluster-name%3D047c6319-7abd-4bd9-a033-8c6af0173cd0%2Ctopology.cluster.x-k8s.io%2Fdeployment-name%3Ddefault-worker 2026-04-02 12:50:04.317610 | ubuntu-noble | E 2026-04-02 12:50:04.317615 | ubuntu-noble | E Available matches: 2026-04-02 12:50:04.317623 | ubuntu-noble | E - GET re.compile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\w') URL does not match 2026-04-02 12:50:04.317629 | ubuntu-noble | E - PATCH re.compile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\w') Method does not match 2026-04-02 12:50:04.317634 | ubuntu-noble | 2026-04-02 12:50:04.317639 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:1129: ConnectionError 2026-04-02 12:50:04.317644 | ubuntu-noble | 2026-04-02 12:50:04.317649 | ubuntu-noble | During handling of the above exception, another exception occurred: 2026-04-02 12:50:04.317655 | ubuntu-noble | 2026-04-02 12:50:04.317660 | ubuntu-noble | self = 2026-04-02 12:50:04.317665 | ubuntu-noble | context = 2026-04-02 12:50:04.317670 | ubuntu-noble | ubuntu_driver = 2026-04-02 12:50:04.317675 | ubuntu-noble | requests_mock = 2026-04-02 12:50:04.317680 | ubuntu-noble | 2026-04-02 12:50:04.317685 | ubuntu-noble | def test_update_nodegroup_with_multiple_node_groups( 2026-04-02 12:50:04.317691 | ubuntu-noble | self, context, ubuntu_driver, requests_mock 2026-04-02 12:50:04.317696 | ubuntu-noble | ): 2026-04-02 12:50:04.317701 | ubuntu-noble | > with requests_mock as rsps: 2026-04-02 12:50:04.317706 | ubuntu-noble | 2026-04-02 12:50:04.317711 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py:392: 2026-04-02 12:50:04.317716 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 12:50:04.317721 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:995: in __exit__ 2026-04-02 12:50:04.317726 | ubuntu-noble | self.stop(allow_assert=True) 2026-04-02 12:50:04.317732 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 12:50:04.317737 | ubuntu-noble | 2026-04-02 12:50:04.317742 | ubuntu-noble | self = , allow_assert = True 2026-04-02 12:50:04.317747 | ubuntu-noble | 2026-04-02 12:50:04.317752 | ubuntu-noble | def stop(self, allow_assert: bool = True) -> None: 2026-04-02 12:50:04.317757 | ubuntu-noble | if self._patcher: 2026-04-02 12:50:04.317763 | ubuntu-noble | # prevent stopping unstarted patchers 2026-04-02 12:50:04.317768 | ubuntu-noble | self._patcher.stop() 2026-04-02 12:50:04.317778 | ubuntu-noble | 2026-04-02 12:50:04.317783 | ubuntu-noble | # once patcher is stopped, clean it. This is required to create a new 2026-04-02 12:50:04.317788 | ubuntu-noble | # fresh patcher on self.start() 2026-04-02 12:50:04.317794 | ubuntu-noble | self._patcher = None 2026-04-02 12:50:04.317799 | ubuntu-noble | 2026-04-02 12:50:04.317804 | ubuntu-noble | if not self.assert_all_requests_are_fired: 2026-04-02 12:50:04.317809 | ubuntu-noble | return 2026-04-02 12:50:04.317814 | ubuntu-noble | 2026-04-02 12:50:04.317820 | ubuntu-noble | if not allow_assert: 2026-04-02 12:50:04.317825 | ubuntu-noble | return 2026-04-02 12:50:04.317830 | ubuntu-noble | 2026-04-02 12:50:04.317835 | ubuntu-noble | not_called = [m for m in self.registered() if m.call_count == 0] 2026-04-02 12:50:04.317840 | ubuntu-noble | if not_called: 2026-04-02 12:50:04.317845 | ubuntu-noble | > raise AssertionError( 2026-04-02 12:50:04.317869 | ubuntu-noble | "Not all requests have been executed {!r}".format( 2026-04-02 12:50:04.317875 | ubuntu-noble | [(match.method, match.url) for match in not_called] 2026-04-02 12:50:04.317880 | ubuntu-noble | ) 2026-04-02 12:50:04.317885 | ubuntu-noble | ) 2026-04-02 12:50:04.317891 | ubuntu-noble | E AssertionError: Not all requests have been executed [('PATCH', re.compile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\w'))] 2026-04-02 12:50:04.317896 | ubuntu-noble | 2026-04-02 12:50:04.317901 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:1235: AssertionError 2026-04-02 12:50:04.317906 | ubuntu-noble | _ TestDriver.test_update_nodegroup_with_multiple_node_groups[auto_healing_enabled=True-auto_scaling_enabled=False] _ 2026-04-02 12:50:04.317911 | ubuntu-noble | 2026-04-02 12:50:04.317916 | ubuntu-noble | self = 2026-04-02 12:50:04.317922 | ubuntu-noble | context = 2026-04-02 12:50:04.317927 | ubuntu-noble | ubuntu_driver = 2026-04-02 12:50:04.317932 | ubuntu-noble | requests_mock = 2026-04-02 12:50:04.317937 | ubuntu-noble | 2026-04-02 12:50:04.317942 | ubuntu-noble | def test_update_nodegroup_with_multiple_node_groups( 2026-04-02 12:50:04.317947 | ubuntu-noble | self, context, ubuntu_driver, requests_mock 2026-04-02 12:50:04.317952 | ubuntu-noble | ): 2026-04-02 12:50:04.317958 | ubuntu-noble | with requests_mock as rsps: 2026-04-02 12:50:04.317963 | ubuntu-noble | self.setup_node_group_tests( 2026-04-02 12:50:04.317968 | ubuntu-noble | rsps, 2026-04-02 12:50:04.317973 | ubuntu-noble | before=[ 2026-04-02 12:50:04.317978 | ubuntu-noble | { 2026-04-02 12:50:04.317983 | ubuntu-noble | "name": "unrelated-machine-deployment", 2026-04-02 12:50:04.317989 | ubuntu-noble | "replicas": 1, 2026-04-02 12:50:04.317994 | ubuntu-noble | "metadata": { 2026-04-02 12:50:04.317999 | ubuntu-noble | "annotations": {}, 2026-04-02 12:50:04.318004 | ubuntu-noble | }, 2026-04-02 12:50:04.318009 | ubuntu-noble | }, 2026-04-02 12:50:04.318014 | ubuntu-noble | { 2026-04-02 12:50:04.318019 | ubuntu-noble | "name": self.node_group.name, 2026-04-02 12:50:04.318024 | ubuntu-noble | "replicas": 1, 2026-04-02 12:50:04.318030 | ubuntu-noble | "metadata": { 2026-04-02 12:50:04.318035 | ubuntu-noble | "annotations": {}, 2026-04-02 12:50:04.318040 | ubuntu-noble | }, 2026-04-02 12:50:04.318045 | ubuntu-noble | }, 2026-04-02 12:50:04.318050 | ubuntu-noble | ], 2026-04-02 12:50:04.318055 | ubuntu-noble | after=[ 2026-04-02 12:50:04.318060 | ubuntu-noble | { 2026-04-02 12:50:04.318066 | ubuntu-noble | "name": "unrelated-machine-deployment", 2026-04-02 12:50:04.318071 | ubuntu-noble | "replicas": 1, 2026-04-02 12:50:04.318076 | ubuntu-noble | "metadata": { 2026-04-02 12:50:04.318081 | ubuntu-noble | "annotations": {}, 2026-04-02 12:50:04.318086 | ubuntu-noble | }, 2026-04-02 12:50:04.318091 | ubuntu-noble | }, 2026-04-02 12:50:04.318097 | ubuntu-noble | resources.mutate_machine_deployment( 2026-04-02 12:50:04.318110 | ubuntu-noble | context, 2026-04-02 12:50:04.318116 | ubuntu-noble | self.cluster, 2026-04-02 12:50:04.318122 | ubuntu-noble | self.node_group, 2026-04-02 12:50:04.318128 | ubuntu-noble | { 2026-04-02 12:50:04.318133 | ubuntu-noble | "name": self.node_group.name, 2026-04-02 12:50:04.318138 | ubuntu-noble | }, 2026-04-02 12:50:04.318143 | ubuntu-noble | ), 2026-04-02 12:50:04.318153 | ubuntu-noble | ], 2026-04-02 12:50:04.318159 | ubuntu-noble | ) 2026-04-02 12:50:04.318164 | ubuntu-noble | 2026-04-02 12:50:04.318169 | ubuntu-noble | > ubuntu_driver.update_nodegroup(context, self.cluster, self.node_group) 2026-04-02 12:50:04.318174 | ubuntu-noble | 2026-04-02 12:50:04.318179 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py:430: 2026-04-02 12:50:04.318185 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 12:50:04.318190 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/driver.py:43: in wrapper 2026-04-02 12:50:04.318195 | ubuntu-noble | return func(*args, **kwargs) 2026-04-02 12:50:04.318200 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.318205 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/driver.py:601: in update_nodegroup 2026-04-02 12:50:04.318211 | ubuntu-noble | self._update_nodegroup(context, cluster, nodegroup) 2026-04-02 12:50:04.318216 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/driver.py:631: in _update_nodegroup 2026-04-02 12:50:04.318221 | ubuntu-noble | resources.migrate_machineset_failure_domain( 2026-04-02 12:50:04.318226 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/resources.py:870: in migrate_machineset_failure_domain 2026-04-02 12:50:04.318231 | ubuntu-noble | machine_sets = objects.MachineSet.for_node_group(pykube_api, cluster, node_group) 2026-04-02 12:50:04.318236 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.318241 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/objects.py:154: in for_node_group 2026-04-02 12:50:04.318247 | ubuntu-noble | return list(mss) 2026-04-02 12:50:04.318252 | ubuntu-noble | ^^^^^^^^^ 2026-04-02 12:50:04.318257 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/query.py:197: in __iter__ 2026-04-02 12:50:04.318262 | ubuntu-noble | return iter(self.query_cache["objects"]) 2026-04-02 12:50:04.318267 | ubuntu-noble | ^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.318272 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/query.py:187: in query_cache 2026-04-02 12:50:04.318277 | ubuntu-noble | cache["response"] = self.execute().json() 2026-04-02 12:50:04.318283 | ubuntu-noble | ^^^^^^^^^^^^^^ 2026-04-02 12:50:04.318288 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/query.py:161: in execute 2026-04-02 12:50:04.318293 | ubuntu-noble | r = self.api.get(**kwargs) 2026-04-02 12:50:04.318298 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.318303 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/http.py:465: in get 2026-04-02 12:50:04.318308 | ubuntu-noble | return self.session.get(*args, **self.get_kwargs(**kwargs)) 2026-04-02 12:50:04.318313 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.318318 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/requests/sessions.py:605: in get 2026-04-02 12:50:04.318324 | ubuntu-noble | return self.request("GET", url, **kwargs) 2026-04-02 12:50:04.318329 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.318334 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/requests/sessions.py:592: in request 2026-04-02 12:50:04.318339 | ubuntu-noble | resp = self.send(prep, **send_kwargs) 2026-04-02 12:50:04.318344 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.318349 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/requests/sessions.py:706: in send 2026-04-02 12:50:04.318354 | ubuntu-noble | r = adapter.send(request, **kwargs) 2026-04-02 12:50:04.318359 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.318364 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/http.py:181: in send 2026-04-02 12:50:04.318369 | ubuntu-noble | response = self._do_send(request, **kwargs) 2026-04-02 12:50:04.318375 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.318385 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:1204: in send 2026-04-02 12:50:04.318390 | ubuntu-noble | return self._on_request(adapter, request, **kwargs) 2026-04-02 12:50:04.318395 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.318402 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 12:50:04.318408 | ubuntu-noble | 2026-04-02 12:50:04.318421 | ubuntu-noble | self = 2026-04-02 12:50:04.318442 | ubuntu-noble | adapter = 2026-04-02 12:50:04.318448 | ubuntu-noble | request = , retries = None 2026-04-02 12:50:04.318454 | ubuntu-noble | kwargs = {'cert': None, 'proxies': OrderedDict(), 'stream': False, 'timeout': 10, ...} 2026-04-02 12:50:04.318459 | ubuntu-noble | request_url = 'http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/machinesets?labelSelector=cluster.x-k8s.io%2Fcluster-name%3D047c6319-7abd-4bd9-a033-8c6af0173cd0%2Ctopology.cluster.x-k8s.io%2Fdeployment-name%3Ddefault-worker' 2026-04-02 12:50:04.318464 | ubuntu-noble | match = None 2026-04-02 12:50:04.318469 | ubuntu-noble | match_failed_reasons = ['URL does not match', 'Method does not match'] 2026-04-02 12:50:04.318474 | ubuntu-noble | resp_callback = None 2026-04-02 12:50:04.318480 | ubuntu-noble | error_msg = "Connection refused by Responses - the call doesn't match any registered mock.\n\nRequest: \n- GET http://localhost/ap...pile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\\\w') Method does not match\n" 2026-04-02 12:50:04.318485 | ubuntu-noble | 2026-04-02 12:50:04.318490 | ubuntu-noble | def _on_request( 2026-04-02 12:50:04.318495 | ubuntu-noble | self, 2026-04-02 12:50:04.318500 | ubuntu-noble | adapter: "HTTPAdapter", 2026-04-02 12:50:04.318506 | ubuntu-noble | request: "PreparedRequest", 2026-04-02 12:50:04.318511 | ubuntu-noble | *, 2026-04-02 12:50:04.318516 | ubuntu-noble | retries: Optional["_Retry"] = None, 2026-04-02 12:50:04.318521 | ubuntu-noble | **kwargs: Any, 2026-04-02 12:50:04.318526 | ubuntu-noble | ) -> "models.Response": 2026-04-02 12:50:04.318531 | ubuntu-noble | # add attributes params and req_kwargs to 'request' object for further match comparison 2026-04-02 12:50:04.318537 | ubuntu-noble | # original request object does not have these attributes 2026-04-02 12:50:04.318542 | ubuntu-noble | request.params = self._parse_request_params(request.path_url) # type: ignore[attr-defined] 2026-04-02 12:50:04.318547 | ubuntu-noble | request.req_kwargs = kwargs # type: ignore[attr-defined] 2026-04-02 12:50:04.318556 | ubuntu-noble | request_url = str(request.url) 2026-04-02 12:50:04.318562 | ubuntu-noble | request.body = self._read_filelike_body(request.body) 2026-04-02 12:50:04.318571 | ubuntu-noble | 2026-04-02 12:50:04.318576 | ubuntu-noble | match, match_failed_reasons = self._find_match(request) 2026-04-02 12:50:04.318581 | ubuntu-noble | resp_callback = self.response_callback 2026-04-02 12:50:04.318586 | ubuntu-noble | 2026-04-02 12:50:04.318592 | ubuntu-noble | if match is None: 2026-04-02 12:50:04.318597 | ubuntu-noble | if any( 2026-04-02 12:50:04.318602 | ubuntu-noble | [ 2026-04-02 12:50:04.318607 | ubuntu-noble | p.match(request_url) 2026-04-02 12:50:04.318612 | ubuntu-noble | if isinstance(p, Pattern) 2026-04-02 12:50:04.318617 | ubuntu-noble | else request_url.startswith(p) 2026-04-02 12:50:04.318622 | ubuntu-noble | for p in self.passthru_prefixes 2026-04-02 12:50:04.318627 | ubuntu-noble | ] 2026-04-02 12:50:04.318633 | ubuntu-noble | ): 2026-04-02 12:50:04.318638 | ubuntu-noble | logger.info("request.allowed-passthru", extra={"url": request_url}) 2026-04-02 12:50:04.318643 | ubuntu-noble | return self._real_send(adapter, request, **kwargs) # type: ignore 2026-04-02 12:50:04.318648 | ubuntu-noble | 2026-04-02 12:50:04.318653 | ubuntu-noble | error_msg = ( 2026-04-02 12:50:04.318658 | ubuntu-noble | "Connection refused by Responses - the call doesn't " 2026-04-02 12:50:04.318663 | ubuntu-noble | "match any registered mock.\n\n" 2026-04-02 12:50:04.318669 | ubuntu-noble | "Request: \n" 2026-04-02 12:50:04.318674 | ubuntu-noble | f"- {request.method} {request_url}\n\n" 2026-04-02 12:50:04.318679 | ubuntu-noble | "Available matches:\n" 2026-04-02 12:50:04.318690 | ubuntu-noble | ) 2026-04-02 12:50:04.318695 | ubuntu-noble | for i, m in enumerate(self.registered()): 2026-04-02 12:50:04.318700 | ubuntu-noble | error_msg += "- {} {} {}\n".format( 2026-04-02 12:50:04.318705 | ubuntu-noble | m.method, m.url, match_failed_reasons[i] 2026-04-02 12:50:04.318711 | ubuntu-noble | ) 2026-04-02 12:50:04.318716 | ubuntu-noble | 2026-04-02 12:50:04.318721 | ubuntu-noble | if self.passthru_prefixes: 2026-04-02 12:50:04.318726 | ubuntu-noble | error_msg += "Passthru prefixes:\n" 2026-04-02 12:50:04.318731 | ubuntu-noble | for p in self.passthru_prefixes: 2026-04-02 12:50:04.318736 | ubuntu-noble | error_msg += f"- {p}\n" 2026-04-02 12:50:04.318741 | ubuntu-noble | 2026-04-02 12:50:04.318747 | ubuntu-noble | response = ConnectionError(error_msg) 2026-04-02 12:50:04.318752 | ubuntu-noble | response.request = request 2026-04-02 12:50:04.318757 | ubuntu-noble | 2026-04-02 12:50:04.318762 | ubuntu-noble | self._calls.add(request, response) 2026-04-02 12:50:04.318767 | ubuntu-noble | > raise response 2026-04-02 12:50:04.318772 | ubuntu-noble | E requests.exceptions.ConnectionError: Connection refused by Responses - the call doesn't match any registered mock. 2026-04-02 12:50:04.318778 | ubuntu-noble | E 2026-04-02 12:50:04.318783 | ubuntu-noble | E Request: 2026-04-02 12:50:04.318788 | ubuntu-noble | E - GET http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/machinesets?labelSelector=cluster.x-k8s.io%2Fcluster-name%3D047c6319-7abd-4bd9-a033-8c6af0173cd0%2Ctopology.cluster.x-k8s.io%2Fdeployment-name%3Ddefault-worker 2026-04-02 12:50:04.318793 | ubuntu-noble | E 2026-04-02 12:50:04.318799 | ubuntu-noble | E Available matches: 2026-04-02 12:50:04.318804 | ubuntu-noble | E - GET re.compile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\w') URL does not match 2026-04-02 12:50:04.318809 | ubuntu-noble | E - PATCH re.compile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\w') Method does not match 2026-04-02 12:50:04.318814 | ubuntu-noble | 2026-04-02 12:50:04.318819 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:1129: ConnectionError 2026-04-02 12:50:04.318825 | ubuntu-noble | 2026-04-02 12:50:04.318830 | ubuntu-noble | During handling of the above exception, another exception occurred: 2026-04-02 12:50:04.318835 | ubuntu-noble | 2026-04-02 12:50:04.318840 | ubuntu-noble | self = 2026-04-02 12:50:04.318845 | ubuntu-noble | context = 2026-04-02 12:50:04.318870 | ubuntu-noble | ubuntu_driver = 2026-04-02 12:50:04.318876 | ubuntu-noble | requests_mock = 2026-04-02 12:50:04.318881 | ubuntu-noble | 2026-04-02 12:50:04.318886 | ubuntu-noble | def test_update_nodegroup_with_multiple_node_groups( 2026-04-02 12:50:04.318891 | ubuntu-noble | self, context, ubuntu_driver, requests_mock 2026-04-02 12:50:04.318897 | ubuntu-noble | ): 2026-04-02 12:50:04.318902 | ubuntu-noble | > with requests_mock as rsps: 2026-04-02 12:50:04.318907 | ubuntu-noble | 2026-04-02 12:50:04.318912 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py:392: 2026-04-02 12:50:04.318917 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 12:50:04.318922 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:995: in __exit__ 2026-04-02 12:50:04.318927 | ubuntu-noble | self.stop(allow_assert=True) 2026-04-02 12:50:04.318933 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 12:50:04.318938 | ubuntu-noble | 2026-04-02 12:50:04.318943 | ubuntu-noble | self = , allow_assert = True 2026-04-02 12:50:04.318948 | ubuntu-noble | 2026-04-02 12:50:04.318953 | ubuntu-noble | def stop(self, allow_assert: bool = True) -> None: 2026-04-02 12:50:04.318958 | ubuntu-noble | if self._patcher: 2026-04-02 12:50:04.318964 | ubuntu-noble | # prevent stopping unstarted patchers 2026-04-02 12:50:04.318969 | ubuntu-noble | self._patcher.stop() 2026-04-02 12:50:04.318974 | ubuntu-noble | 2026-04-02 12:50:04.318979 | ubuntu-noble | # once patcher is stopped, clean it. This is required to create a new 2026-04-02 12:50:04.318990 | ubuntu-noble | # fresh patcher on self.start() 2026-04-02 12:50:04.318995 | ubuntu-noble | self._patcher = None 2026-04-02 12:50:04.319000 | ubuntu-noble | 2026-04-02 12:50:04.319005 | ubuntu-noble | if not self.assert_all_requests_are_fired: 2026-04-02 12:50:04.319010 | ubuntu-noble | return 2026-04-02 12:50:04.319016 | ubuntu-noble | 2026-04-02 12:50:04.319021 | ubuntu-noble | if not allow_assert: 2026-04-02 12:50:04.319026 | ubuntu-noble | return 2026-04-02 12:50:04.319031 | ubuntu-noble | 2026-04-02 12:50:04.319036 | ubuntu-noble | not_called = [m for m in self.registered() if m.call_count == 0] 2026-04-02 12:50:04.319041 | ubuntu-noble | if not_called: 2026-04-02 12:50:04.319047 | ubuntu-noble | > raise AssertionError( 2026-04-02 12:50:04.319052 | ubuntu-noble | "Not all requests have been executed {!r}".format( 2026-04-02 12:50:04.319057 | ubuntu-noble | [(match.method, match.url) for match in not_called] 2026-04-02 12:50:04.319062 | ubuntu-noble | ) 2026-04-02 12:50:04.319067 | ubuntu-noble | ) 2026-04-02 12:50:04.319077 | ubuntu-noble | E AssertionError: Not all requests have been executed [('PATCH', re.compile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\w'))] 2026-04-02 12:50:04.319082 | ubuntu-noble | 2026-04-02 12:50:04.319088 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:1235: AssertionError 2026-04-02 12:50:04.319093 | ubuntu-noble | _ TestDriver.test_update_nodegroup_with_multiple_node_groups[auto_healing_enabled=False-auto_scaling_enabled=True] _ 2026-04-02 12:50:04.319099 | ubuntu-noble | 2026-04-02 12:50:04.319106 | ubuntu-noble | self = 2026-04-02 12:50:04.319111 | ubuntu-noble | context = 2026-04-02 12:50:04.319117 | ubuntu-noble | ubuntu_driver = 2026-04-02 12:50:04.319123 | ubuntu-noble | requests_mock = 2026-04-02 12:50:04.319129 | ubuntu-noble | 2026-04-02 12:50:04.319134 | ubuntu-noble | def test_update_nodegroup_with_multiple_node_groups( 2026-04-02 12:50:04.319139 | ubuntu-noble | self, context, ubuntu_driver, requests_mock 2026-04-02 12:50:04.319145 | ubuntu-noble | ): 2026-04-02 12:50:04.319150 | ubuntu-noble | with requests_mock as rsps: 2026-04-02 12:50:04.319155 | ubuntu-noble | self.setup_node_group_tests( 2026-04-02 12:50:04.319160 | ubuntu-noble | rsps, 2026-04-02 12:50:04.319165 | ubuntu-noble | before=[ 2026-04-02 12:50:04.319170 | ubuntu-noble | { 2026-04-02 12:50:04.319175 | ubuntu-noble | "name": "unrelated-machine-deployment", 2026-04-02 12:50:04.319181 | ubuntu-noble | "replicas": 1, 2026-04-02 12:50:04.319186 | ubuntu-noble | "metadata": { 2026-04-02 12:50:04.319191 | ubuntu-noble | "annotations": {}, 2026-04-02 12:50:04.319196 | ubuntu-noble | }, 2026-04-02 12:50:04.319201 | ubuntu-noble | }, 2026-04-02 12:50:04.319206 | ubuntu-noble | { 2026-04-02 12:50:04.319211 | ubuntu-noble | "name": self.node_group.name, 2026-04-02 12:50:04.319216 | ubuntu-noble | "replicas": 1, 2026-04-02 12:50:04.319222 | ubuntu-noble | "metadata": { 2026-04-02 12:50:04.319227 | ubuntu-noble | "annotations": {}, 2026-04-02 12:50:04.319232 | ubuntu-noble | }, 2026-04-02 12:50:04.319237 | ubuntu-noble | }, 2026-04-02 12:50:04.319242 | ubuntu-noble | ], 2026-04-02 12:50:04.319247 | ubuntu-noble | after=[ 2026-04-02 12:50:04.319252 | ubuntu-noble | { 2026-04-02 12:50:04.319257 | ubuntu-noble | "name": "unrelated-machine-deployment", 2026-04-02 12:50:04.319262 | ubuntu-noble | "replicas": 1, 2026-04-02 12:50:04.319268 | ubuntu-noble | "metadata": { 2026-04-02 12:50:04.319273 | ubuntu-noble | "annotations": {}, 2026-04-02 12:50:04.319278 | ubuntu-noble | }, 2026-04-02 12:50:04.319283 | ubuntu-noble | }, 2026-04-02 12:50:04.319288 | ubuntu-noble | resources.mutate_machine_deployment( 2026-04-02 12:50:04.319293 | ubuntu-noble | context, 2026-04-02 12:50:04.319299 | ubuntu-noble | self.cluster, 2026-04-02 12:50:04.319304 | ubuntu-noble | self.node_group, 2026-04-02 12:50:04.319314 | ubuntu-noble | { 2026-04-02 12:50:04.319319 | ubuntu-noble | "name": self.node_group.name, 2026-04-02 12:50:04.319324 | ubuntu-noble | }, 2026-04-02 12:50:04.319329 | ubuntu-noble | ), 2026-04-02 12:50:04.319334 | ubuntu-noble | ], 2026-04-02 12:50:04.319340 | ubuntu-noble | ) 2026-04-02 12:50:04.319345 | ubuntu-noble | 2026-04-02 12:50:04.319350 | ubuntu-noble | > ubuntu_driver.update_nodegroup(context, self.cluster, self.node_group) 2026-04-02 12:50:04.319355 | ubuntu-noble | 2026-04-02 12:50:04.319360 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py:430: 2026-04-02 12:50:04.319365 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 12:50:04.319379 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/driver.py:43: in wrapper 2026-04-02 12:50:04.319384 | ubuntu-noble | return func(*args, **kwargs) 2026-04-02 12:50:04.319389 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.319394 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/driver.py:601: in update_nodegroup 2026-04-02 12:50:04.319399 | ubuntu-noble | self._update_nodegroup(context, cluster, nodegroup) 2026-04-02 12:50:04.319404 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/driver.py:631: in _update_nodegroup 2026-04-02 12:50:04.319410 | ubuntu-noble | resources.migrate_machineset_failure_domain( 2026-04-02 12:50:04.319415 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/resources.py:870: in migrate_machineset_failure_domain 2026-04-02 12:50:04.319422 | ubuntu-noble | machine_sets = objects.MachineSet.for_node_group(pykube_api, cluster, node_group) 2026-04-02 12:50:04.319429 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.319436 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/objects.py:154: in for_node_group 2026-04-02 12:50:04.319443 | ubuntu-noble | return list(mss) 2026-04-02 12:50:04.319450 | ubuntu-noble | ^^^^^^^^^ 2026-04-02 12:50:04.319455 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/query.py:197: in __iter__ 2026-04-02 12:50:04.319460 | ubuntu-noble | return iter(self.query_cache["objects"]) 2026-04-02 12:50:04.319465 | ubuntu-noble | ^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.319470 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/query.py:187: in query_cache 2026-04-02 12:50:04.319476 | ubuntu-noble | cache["response"] = self.execute().json() 2026-04-02 12:50:04.319481 | ubuntu-noble | ^^^^^^^^^^^^^^ 2026-04-02 12:50:04.319486 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/query.py:161: in execute 2026-04-02 12:50:04.319491 | ubuntu-noble | r = self.api.get(**kwargs) 2026-04-02 12:50:04.319496 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.319501 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/http.py:465: in get 2026-04-02 12:50:04.319507 | ubuntu-noble | return self.session.get(*args, **self.get_kwargs(**kwargs)) 2026-04-02 12:50:04.319512 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.319517 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/requests/sessions.py:605: in get 2026-04-02 12:50:04.319522 | ubuntu-noble | return self.request("GET", url, **kwargs) 2026-04-02 12:50:04.319527 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.319532 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/requests/sessions.py:592: in request 2026-04-02 12:50:04.319537 | ubuntu-noble | resp = self.send(prep, **send_kwargs) 2026-04-02 12:50:04.319542 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.319547 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/requests/sessions.py:706: in send 2026-04-02 12:50:04.319553 | ubuntu-noble | r = adapter.send(request, **kwargs) 2026-04-02 12:50:04.319562 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.319572 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/http.py:181: in send 2026-04-02 12:50:04.319577 | ubuntu-noble | response = self._do_send(request, **kwargs) 2026-04-02 12:50:04.319582 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.319588 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:1204: in send 2026-04-02 12:50:04.319593 | ubuntu-noble | return self._on_request(adapter, request, **kwargs) 2026-04-02 12:50:04.319603 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.319609 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 12:50:04.319614 | ubuntu-noble | 2026-04-02 12:50:04.319619 | ubuntu-noble | self = 2026-04-02 12:50:04.319624 | ubuntu-noble | adapter = 2026-04-02 12:50:04.319629 | ubuntu-noble | request = , retries = None 2026-04-02 12:50:04.319634 | ubuntu-noble | kwargs = {'cert': None, 'proxies': OrderedDict(), 'stream': False, 'timeout': 10, ...} 2026-04-02 12:50:04.319640 | ubuntu-noble | request_url = 'http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/machinesets?labelSelector=cluster.x-k8s.io%2Fcluster-name%3D047c6319-7abd-4bd9-a033-8c6af0173cd0%2Ctopology.cluster.x-k8s.io%2Fdeployment-name%3Ddefault-worker' 2026-04-02 12:50:04.319645 | ubuntu-noble | match = None 2026-04-02 12:50:04.319650 | ubuntu-noble | match_failed_reasons = ['URL does not match', 'Method does not match'] 2026-04-02 12:50:04.319656 | ubuntu-noble | resp_callback = None 2026-04-02 12:50:04.319661 | ubuntu-noble | error_msg = "Connection refused by Responses - the call doesn't match any registered mock.\n\nRequest: \n- GET http://localhost/ap...pile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\\\w') Method does not match\n" 2026-04-02 12:50:04.319666 | ubuntu-noble | 2026-04-02 12:50:04.319671 | ubuntu-noble | def _on_request( 2026-04-02 12:50:04.319676 | ubuntu-noble | self, 2026-04-02 12:50:04.319681 | ubuntu-noble | adapter: "HTTPAdapter", 2026-04-02 12:50:04.319687 | ubuntu-noble | request: "PreparedRequest", 2026-04-02 12:50:04.319692 | ubuntu-noble | *, 2026-04-02 12:50:04.319697 | ubuntu-noble | retries: Optional["_Retry"] = None, 2026-04-02 12:50:04.319702 | ubuntu-noble | **kwargs: Any, 2026-04-02 12:50:04.319707 | ubuntu-noble | ) -> "models.Response": 2026-04-02 12:50:04.319712 | ubuntu-noble | # add attributes params and req_kwargs to 'request' object for further match comparison 2026-04-02 12:50:04.319718 | ubuntu-noble | # original request object does not have these attributes 2026-04-02 12:50:04.319723 | ubuntu-noble | request.params = self._parse_request_params(request.path_url) # type: ignore[attr-defined] 2026-04-02 12:50:04.319728 | ubuntu-noble | request.req_kwargs = kwargs # type: ignore[attr-defined] 2026-04-02 12:50:04.319733 | ubuntu-noble | request_url = str(request.url) 2026-04-02 12:50:04.319738 | ubuntu-noble | request.body = self._read_filelike_body(request.body) 2026-04-02 12:50:04.319743 | ubuntu-noble | 2026-04-02 12:50:04.319749 | ubuntu-noble | match, match_failed_reasons = self._find_match(request) 2026-04-02 12:50:04.319754 | ubuntu-noble | resp_callback = self.response_callback 2026-04-02 12:50:04.319759 | ubuntu-noble | 2026-04-02 12:50:04.319764 | ubuntu-noble | if match is None: 2026-04-02 12:50:04.319769 | ubuntu-noble | if any( 2026-04-02 12:50:04.319774 | ubuntu-noble | [ 2026-04-02 12:50:04.319780 | ubuntu-noble | p.match(request_url) 2026-04-02 12:50:04.319785 | ubuntu-noble | if isinstance(p, Pattern) 2026-04-02 12:50:04.319790 | ubuntu-noble | else request_url.startswith(p) 2026-04-02 12:50:04.319795 | ubuntu-noble | for p in self.passthru_prefixes 2026-04-02 12:50:04.319800 | ubuntu-noble | ] 2026-04-02 12:50:04.319805 | ubuntu-noble | ): 2026-04-02 12:50:04.319810 | ubuntu-noble | logger.info("request.allowed-passthru", extra={"url": request_url}) 2026-04-02 12:50:04.319816 | ubuntu-noble | return self._real_send(adapter, request, **kwargs) # type: ignore 2026-04-02 12:50:04.319821 | ubuntu-noble | 2026-04-02 12:50:04.319826 | ubuntu-noble | error_msg = ( 2026-04-02 12:50:04.319831 | ubuntu-noble | "Connection refused by Responses - the call doesn't " 2026-04-02 12:50:04.319836 | ubuntu-noble | "match any registered mock.\n\n" 2026-04-02 12:50:04.319841 | ubuntu-noble | "Request: \n" 2026-04-02 12:50:04.319846 | ubuntu-noble | f"- {request.method} {request_url}\n\n" 2026-04-02 12:50:04.319870 | ubuntu-noble | "Available matches:\n" 2026-04-02 12:50:04.319875 | ubuntu-noble | ) 2026-04-02 12:50:04.319880 | ubuntu-noble | for i, m in enumerate(self.registered()): 2026-04-02 12:50:04.319891 | ubuntu-noble | error_msg += "- {} {} {}\n".format( 2026-04-02 12:50:04.319896 | ubuntu-noble | m.method, m.url, match_failed_reasons[i] 2026-04-02 12:50:04.319901 | ubuntu-noble | ) 2026-04-02 12:50:04.319907 | ubuntu-noble | 2026-04-02 12:50:04.319912 | ubuntu-noble | if self.passthru_prefixes: 2026-04-02 12:50:04.319917 | ubuntu-noble | error_msg += "Passthru prefixes:\n" 2026-04-02 12:50:04.319922 | ubuntu-noble | for p in self.passthru_prefixes: 2026-04-02 12:50:04.319927 | ubuntu-noble | error_msg += f"- {p}\n" 2026-04-02 12:50:04.319932 | ubuntu-noble | 2026-04-02 12:50:04.319937 | ubuntu-noble | response = ConnectionError(error_msg) 2026-04-02 12:50:04.319943 | ubuntu-noble | response.request = request 2026-04-02 12:50:04.319948 | ubuntu-noble | 2026-04-02 12:50:04.319953 | ubuntu-noble | self._calls.add(request, response) 2026-04-02 12:50:04.319958 | ubuntu-noble | > raise response 2026-04-02 12:50:04.319963 | ubuntu-noble | E requests.exceptions.ConnectionError: Connection refused by Responses - the call doesn't match any registered mock. 2026-04-02 12:50:04.319968 | ubuntu-noble | E 2026-04-02 12:50:04.319974 | ubuntu-noble | E Request: 2026-04-02 12:50:04.319979 | ubuntu-noble | E - GET http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/machinesets?labelSelector=cluster.x-k8s.io%2Fcluster-name%3D047c6319-7abd-4bd9-a033-8c6af0173cd0%2Ctopology.cluster.x-k8s.io%2Fdeployment-name%3Ddefault-worker 2026-04-02 12:50:04.319984 | ubuntu-noble | E 2026-04-02 12:50:04.319989 | ubuntu-noble | E Available matches: 2026-04-02 12:50:04.319995 | ubuntu-noble | E - GET re.compile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\w') URL does not match 2026-04-02 12:50:04.320000 | ubuntu-noble | E - PATCH re.compile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\w') Method does not match 2026-04-02 12:50:04.320005 | ubuntu-noble | 2026-04-02 12:50:04.320014 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:1129: ConnectionError 2026-04-02 12:50:04.320020 | ubuntu-noble | 2026-04-02 12:50:04.320025 | ubuntu-noble | During handling of the above exception, another exception occurred: 2026-04-02 12:50:04.320030 | ubuntu-noble | 2026-04-02 12:50:04.320035 | ubuntu-noble | self = 2026-04-02 12:50:04.320040 | ubuntu-noble | context = 2026-04-02 12:50:04.320046 | ubuntu-noble | ubuntu_driver = 2026-04-02 12:50:04.320051 | ubuntu-noble | requests_mock = 2026-04-02 12:50:04.320056 | ubuntu-noble | 2026-04-02 12:50:04.320061 | ubuntu-noble | def test_update_nodegroup_with_multiple_node_groups( 2026-04-02 12:50:04.320066 | ubuntu-noble | self, context, ubuntu_driver, requests_mock 2026-04-02 12:50:04.320071 | ubuntu-noble | ): 2026-04-02 12:50:04.320076 | ubuntu-noble | > with requests_mock as rsps: 2026-04-02 12:50:04.320082 | ubuntu-noble | 2026-04-02 12:50:04.320087 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py:392: 2026-04-02 12:50:04.320092 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 12:50:04.320097 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:995: in __exit__ 2026-04-02 12:50:04.320102 | ubuntu-noble | self.stop(allow_assert=True) 2026-04-02 12:50:04.320107 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 12:50:04.320112 | ubuntu-noble | 2026-04-02 12:50:04.320118 | ubuntu-noble | self = , allow_assert = True 2026-04-02 12:50:04.320123 | ubuntu-noble | 2026-04-02 12:50:04.320128 | ubuntu-noble | def stop(self, allow_assert: bool = True) -> None: 2026-04-02 12:50:04.320133 | ubuntu-noble | if self._patcher: 2026-04-02 12:50:04.320138 | ubuntu-noble | # prevent stopping unstarted patchers 2026-04-02 12:50:04.320143 | ubuntu-noble | self._patcher.stop() 2026-04-02 12:50:04.320149 | ubuntu-noble | 2026-04-02 12:50:04.320154 | ubuntu-noble | # once patcher is stopped, clean it. This is required to create a new 2026-04-02 12:50:04.320159 | ubuntu-noble | # fresh patcher on self.start() 2026-04-02 12:50:04.320164 | ubuntu-noble | self._patcher = None 2026-04-02 12:50:04.320169 | ubuntu-noble | 2026-04-02 12:50:04.320180 | ubuntu-noble | if not self.assert_all_requests_are_fired: 2026-04-02 12:50:04.320185 | ubuntu-noble | return 2026-04-02 12:50:04.320190 | ubuntu-noble | 2026-04-02 12:50:04.320195 | ubuntu-noble | if not allow_assert: 2026-04-02 12:50:04.320200 | ubuntu-noble | return 2026-04-02 12:50:04.320206 | ubuntu-noble | 2026-04-02 12:50:04.320211 | ubuntu-noble | not_called = [m for m in self.registered() if m.call_count == 0] 2026-04-02 12:50:04.320216 | ubuntu-noble | if not_called: 2026-04-02 12:50:04.320221 | ubuntu-noble | > raise AssertionError( 2026-04-02 12:50:04.320226 | ubuntu-noble | "Not all requests have been executed {!r}".format( 2026-04-02 12:50:04.320231 | ubuntu-noble | [(match.method, match.url) for match in not_called] 2026-04-02 12:50:04.320236 | ubuntu-noble | ) 2026-04-02 12:50:04.320242 | ubuntu-noble | ) 2026-04-02 12:50:04.320247 | ubuntu-noble | E AssertionError: Not all requests have been executed [('PATCH', re.compile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\w'))] 2026-04-02 12:50:04.320252 | ubuntu-noble | 2026-04-02 12:50:04.320257 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:1235: AssertionError 2026-04-02 12:50:04.320263 | ubuntu-noble | _ TestDriver.test_update_nodegroup_with_multiple_node_groups[auto_healing_enabled=False-auto_scaling_enabled=False] _ 2026-04-02 12:50:04.320268 | ubuntu-noble | 2026-04-02 12:50:04.320273 | ubuntu-noble | self = 2026-04-02 12:50:04.320278 | ubuntu-noble | context = 2026-04-02 12:50:04.320283 | ubuntu-noble | ubuntu_driver = 2026-04-02 12:50:04.320288 | ubuntu-noble | requests_mock = 2026-04-02 12:50:04.320293 | ubuntu-noble | 2026-04-02 12:50:04.320299 | ubuntu-noble | def test_update_nodegroup_with_multiple_node_groups( 2026-04-02 12:50:04.320304 | ubuntu-noble | self, context, ubuntu_driver, requests_mock 2026-04-02 12:50:04.320309 | ubuntu-noble | ): 2026-04-02 12:50:04.320314 | ubuntu-noble | with requests_mock as rsps: 2026-04-02 12:50:04.320319 | ubuntu-noble | self.setup_node_group_tests( 2026-04-02 12:50:04.320324 | ubuntu-noble | rsps, 2026-04-02 12:50:04.320334 | ubuntu-noble | before=[ 2026-04-02 12:50:04.320339 | ubuntu-noble | { 2026-04-02 12:50:04.320344 | ubuntu-noble | "name": "unrelated-machine-deployment", 2026-04-02 12:50:04.320349 | ubuntu-noble | "replicas": 1, 2026-04-02 12:50:04.320354 | ubuntu-noble | "metadata": { 2026-04-02 12:50:04.320359 | ubuntu-noble | "annotations": {}, 2026-04-02 12:50:04.320365 | ubuntu-noble | }, 2026-04-02 12:50:04.320370 | ubuntu-noble | }, 2026-04-02 12:50:04.320375 | ubuntu-noble | { 2026-04-02 12:50:04.320380 | ubuntu-noble | "name": self.node_group.name, 2026-04-02 12:50:04.320385 | ubuntu-noble | "replicas": 1, 2026-04-02 12:50:04.320390 | ubuntu-noble | "metadata": { 2026-04-02 12:50:04.320395 | ubuntu-noble | "annotations": {}, 2026-04-02 12:50:04.320401 | ubuntu-noble | }, 2026-04-02 12:50:04.320406 | ubuntu-noble | }, 2026-04-02 12:50:04.320411 | ubuntu-noble | ], 2026-04-02 12:50:04.320416 | ubuntu-noble | after=[ 2026-04-02 12:50:04.320421 | ubuntu-noble | { 2026-04-02 12:50:04.320426 | ubuntu-noble | "name": "unrelated-machine-deployment", 2026-04-02 12:50:04.320431 | ubuntu-noble | "replicas": 1, 2026-04-02 12:50:04.320438 | ubuntu-noble | "metadata": { 2026-04-02 12:50:04.320445 | ubuntu-noble | "annotations": {}, 2026-04-02 12:50:04.320452 | ubuntu-noble | }, 2026-04-02 12:50:04.320459 | ubuntu-noble | }, 2026-04-02 12:50:04.320466 | ubuntu-noble | resources.mutate_machine_deployment( 2026-04-02 12:50:04.320471 | ubuntu-noble | context, 2026-04-02 12:50:04.320477 | ubuntu-noble | self.cluster, 2026-04-02 12:50:04.320482 | ubuntu-noble | self.node_group, 2026-04-02 12:50:04.320487 | ubuntu-noble | { 2026-04-02 12:50:04.320492 | ubuntu-noble | "name": self.node_group.name, 2026-04-02 12:50:04.320503 | ubuntu-noble | }, 2026-04-02 12:50:04.320508 | ubuntu-noble | ), 2026-04-02 12:50:04.320513 | ubuntu-noble | ], 2026-04-02 12:50:04.320518 | ubuntu-noble | ) 2026-04-02 12:50:04.320523 | ubuntu-noble | 2026-04-02 12:50:04.320529 | ubuntu-noble | > ubuntu_driver.update_nodegroup(context, self.cluster, self.node_group) 2026-04-02 12:50:04.320534 | ubuntu-noble | 2026-04-02 12:50:04.320539 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py:430: 2026-04-02 12:50:04.320544 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 12:50:04.320554 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/driver.py:43: in wrapper 2026-04-02 12:50:04.320559 | ubuntu-noble | return func(*args, **kwargs) 2026-04-02 12:50:04.320568 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.320573 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/driver.py:601: in update_nodegroup 2026-04-02 12:50:04.320579 | ubuntu-noble | self._update_nodegroup(context, cluster, nodegroup) 2026-04-02 12:50:04.320584 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/driver.py:631: in _update_nodegroup 2026-04-02 12:50:04.320589 | ubuntu-noble | resources.migrate_machineset_failure_domain( 2026-04-02 12:50:04.320594 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/resources.py:870: in migrate_machineset_failure_domain 2026-04-02 12:50:04.320599 | ubuntu-noble | machine_sets = objects.MachineSet.for_node_group(pykube_api, cluster, node_group) 2026-04-02 12:50:04.320605 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.320610 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/objects.py:154: in for_node_group 2026-04-02 12:50:04.320615 | ubuntu-noble | return list(mss) 2026-04-02 12:50:04.320620 | ubuntu-noble | ^^^^^^^^^ 2026-04-02 12:50:04.320625 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/query.py:197: in __iter__ 2026-04-02 12:50:04.320630 | ubuntu-noble | return iter(self.query_cache["objects"]) 2026-04-02 12:50:04.320635 | ubuntu-noble | ^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.320640 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/query.py:187: in query_cache 2026-04-02 12:50:04.320646 | ubuntu-noble | cache["response"] = self.execute().json() 2026-04-02 12:50:04.320651 | ubuntu-noble | ^^^^^^^^^^^^^^ 2026-04-02 12:50:04.320656 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/query.py:161: in execute 2026-04-02 12:50:04.320661 | ubuntu-noble | r = self.api.get(**kwargs) 2026-04-02 12:50:04.320666 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.320672 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/http.py:465: in get 2026-04-02 12:50:04.320677 | ubuntu-noble | return self.session.get(*args, **self.get_kwargs(**kwargs)) 2026-04-02 12:50:04.320682 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.320687 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/requests/sessions.py:605: in get 2026-04-02 12:50:04.320692 | ubuntu-noble | return self.request("GET", url, **kwargs) 2026-04-02 12:50:04.320697 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.320702 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/requests/sessions.py:592: in request 2026-04-02 12:50:04.320707 | ubuntu-noble | resp = self.send(prep, **send_kwargs) 2026-04-02 12:50:04.320713 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.320718 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/requests/sessions.py:706: in send 2026-04-02 12:50:04.320723 | ubuntu-noble | r = adapter.send(request, **kwargs) 2026-04-02 12:50:04.320728 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.320733 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/http.py:181: in send 2026-04-02 12:50:04.320738 | ubuntu-noble | response = self._do_send(request, **kwargs) 2026-04-02 12:50:04.320743 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.320749 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:1204: in send 2026-04-02 12:50:04.320754 | ubuntu-noble | return self._on_request(adapter, request, **kwargs) 2026-04-02 12:50:04.320759 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 12:50:04.320764 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 12:50:04.320774 | ubuntu-noble | 2026-04-02 12:50:04.320779 | ubuntu-noble | self = 2026-04-02 12:50:04.320785 | ubuntu-noble | adapter = 2026-04-02 12:50:04.320790 | ubuntu-noble | request = , retries = None 2026-04-02 12:50:04.320795 | ubuntu-noble | kwargs = {'cert': None, 'proxies': OrderedDict(), 'stream': False, 'timeout': 10, ...} 2026-04-02 12:50:04.320800 | ubuntu-noble | request_url = 'http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/machinesets?labelSelector=cluster.x-k8s.io%2Fcluster-name%3D047c6319-7abd-4bd9-a033-8c6af0173cd0%2Ctopology.cluster.x-k8s.io%2Fdeployment-name%3Ddefault-worker' 2026-04-02 12:50:04.320805 | ubuntu-noble | match = None 2026-04-02 12:50:04.320811 | ubuntu-noble | match_failed_reasons = ['URL does not match', 'Method does not match'] 2026-04-02 12:50:04.320816 | ubuntu-noble | resp_callback = None 2026-04-02 12:50:04.320821 | ubuntu-noble | error_msg = "Connection refused by Responses - the call doesn't match any registered mock.\n\nRequest: \n- GET http://localhost/ap...pile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\\\w') Method does not match\n" 2026-04-02 12:50:04.320826 | ubuntu-noble | 2026-04-02 12:50:04.320831 | ubuntu-noble | def _on_request( 2026-04-02 12:50:04.320836 | ubuntu-noble | self, 2026-04-02 12:50:04.320842 | ubuntu-noble | adapter: "HTTPAdapter", 2026-04-02 12:50:04.320847 | ubuntu-noble | request: "PreparedRequest", 2026-04-02 12:50:04.320869 | ubuntu-noble | *, 2026-04-02 12:50:04.320875 | ubuntu-noble | retries: Optional["_Retry"] = None, 2026-04-02 12:50:04.320880 | ubuntu-noble | **kwargs: Any, 2026-04-02 12:50:04.320885 | ubuntu-noble | ) -> "models.Response": 2026-04-02 12:50:04.320890 | ubuntu-noble | # add attributes params and req_kwargs to 'request' object for further match comparison 2026-04-02 12:50:04.320896 | ubuntu-noble | # original request object does not have these attributes 2026-04-02 12:50:04.320901 | ubuntu-noble | request.params = self._parse_request_params(request.path_url) # type: ignore[attr-defined] 2026-04-02 12:50:04.320906 | ubuntu-noble | request.req_kwargs = kwargs # type: ignore[attr-defined] 2026-04-02 12:50:04.320911 | ubuntu-noble | request_url = str(request.url) 2026-04-02 12:50:04.320916 | ubuntu-noble | request.body = self._read_filelike_body(request.body) 2026-04-02 12:50:04.320921 | ubuntu-noble | 2026-04-02 12:50:04.320926 | ubuntu-noble | match, match_failed_reasons = self._find_match(request) 2026-04-02 12:50:04.320932 | ubuntu-noble | resp_callback = self.response_callback 2026-04-02 12:50:04.320937 | ubuntu-noble | 2026-04-02 12:50:04.320942 | ubuntu-noble | if match is None: 2026-04-02 12:50:04.320947 | ubuntu-noble | if any( 2026-04-02 12:50:04.320952 | ubuntu-noble | [ 2026-04-02 12:50:04.320957 | ubuntu-noble | p.match(request_url) 2026-04-02 12:50:04.320967 | ubuntu-noble | if isinstance(p, Pattern) 2026-04-02 12:50:04.320972 | ubuntu-noble | else request_url.startswith(p) 2026-04-02 12:50:04.320978 | ubuntu-noble | for p in self.passthru_prefixes 2026-04-02 12:50:04.320983 | ubuntu-noble | ] 2026-04-02 12:50:04.320988 | ubuntu-noble | ): 2026-04-02 12:50:04.320993 | ubuntu-noble | logger.info("request.allowed-passthru", extra={"url": request_url}) 2026-04-02 12:50:04.320998 | ubuntu-noble | return self._real_send(adapter, request, **kwargs) # type: ignore 2026-04-02 12:50:04.321004 | ubuntu-noble | 2026-04-02 12:50:04.321009 | ubuntu-noble | error_msg = ( 2026-04-02 12:50:04.321014 | ubuntu-noble | "Connection refused by Responses - the call doesn't " 2026-04-02 12:50:04.321019 | ubuntu-noble | "match any registered mock.\n\n" 2026-04-02 12:50:04.321024 | ubuntu-noble | "Request: \n" 2026-04-02 12:50:04.321029 | ubuntu-noble | f"- {request.method} {request_url}\n\n" 2026-04-02 12:50:04.321035 | ubuntu-noble | "Available matches:\n" 2026-04-02 12:50:04.321040 | ubuntu-noble | ) 2026-04-02 12:50:04.321045 | ubuntu-noble | for i, m in enumerate(self.registered()): 2026-04-02 12:50:04.321050 | ubuntu-noble | error_msg += "- {} {} {}\n".format( 2026-04-02 12:50:04.321055 | ubuntu-noble | m.method, m.url, match_failed_reasons[i] 2026-04-02 12:50:04.321066 | ubuntu-noble | ) 2026-04-02 12:50:04.321071 | ubuntu-noble | 2026-04-02 12:50:04.321076 | ubuntu-noble | if self.passthru_prefixes: 2026-04-02 12:50:04.321082 | ubuntu-noble | error_msg += "Passthru prefixes:\n" 2026-04-02 12:50:04.321087 | ubuntu-noble | for p in self.passthru_prefixes: 2026-04-02 12:50:04.321092 | ubuntu-noble | error_msg += f"- {p}\n" 2026-04-02 12:50:04.321098 | ubuntu-noble | 2026-04-02 12:50:04.321105 | ubuntu-noble | response = ConnectionError(error_msg) 2026-04-02 12:50:04.321110 | ubuntu-noble | response.request = request 2026-04-02 12:50:04.321116 | ubuntu-noble | 2026-04-02 12:50:04.321123 | ubuntu-noble | self._calls.add(request, response) 2026-04-02 12:50:04.321128 | ubuntu-noble | > raise response 2026-04-02 12:50:04.321133 | ubuntu-noble | E requests.exceptions.ConnectionError: Connection refused by Responses - the call doesn't match any registered mock. 2026-04-02 12:50:04.321138 | ubuntu-noble | E 2026-04-02 12:50:04.321144 | ubuntu-noble | E Request: 2026-04-02 12:50:04.321149 | ubuntu-noble | E - GET http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/machinesets?labelSelector=cluster.x-k8s.io%2Fcluster-name%3D047c6319-7abd-4bd9-a033-8c6af0173cd0%2Ctopology.cluster.x-k8s.io%2Fdeployment-name%3Ddefault-worker 2026-04-02 12:50:04.321154 | ubuntu-noble | E 2026-04-02 12:50:04.321159 | ubuntu-noble | E Available matches: 2026-04-02 12:50:04.321165 | ubuntu-noble | E - GET re.compile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\w') URL does not match 2026-04-02 12:50:04.321170 | ubuntu-noble | E - PATCH re.compile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\w') Method does not match 2026-04-02 12:50:04.321175 | ubuntu-noble | 2026-04-02 12:50:04.321180 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:1129: ConnectionError 2026-04-02 12:50:04.321185 | ubuntu-noble | 2026-04-02 12:50:04.321191 | ubuntu-noble | During handling of the above exception, another exception occurred: 2026-04-02 12:50:04.321196 | ubuntu-noble | 2026-04-02 12:50:04.321201 | ubuntu-noble | self = 2026-04-02 12:50:04.321206 | ubuntu-noble | context = 2026-04-02 12:50:04.321211 | ubuntu-noble | ubuntu_driver = 2026-04-02 12:50:04.321216 | ubuntu-noble | requests_mock = 2026-04-02 12:50:04.321221 | ubuntu-noble | 2026-04-02 12:50:04.321227 | ubuntu-noble | def test_update_nodegroup_with_multiple_node_groups( 2026-04-02 12:50:04.321232 | ubuntu-noble | self, context, ubuntu_driver, requests_mock 2026-04-02 12:50:04.321237 | ubuntu-noble | ): 2026-04-02 12:50:04.321242 | ubuntu-noble | > with requests_mock as rsps: 2026-04-02 12:50:04.321247 | ubuntu-noble | 2026-04-02 12:50:04.321252 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py:392: 2026-04-02 12:50:04.321258 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 12:50:04.321263 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:995: in __exit__ 2026-04-02 12:50:04.321268 | ubuntu-noble | self.stop(allow_assert=True) 2026-04-02 12:50:04.321273 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 12:50:04.321278 | ubuntu-noble | 2026-04-02 12:50:04.321283 | ubuntu-noble | self = , allow_assert = True 2026-04-02 12:50:04.321288 | ubuntu-noble | 2026-04-02 12:50:04.321294 | ubuntu-noble | def stop(self, allow_assert: bool = True) -> None: 2026-04-02 12:50:04.321299 | ubuntu-noble | if self._patcher: 2026-04-02 12:50:04.321304 | ubuntu-noble | # prevent stopping unstarted patchers 2026-04-02 12:50:04.321309 | ubuntu-noble | self._patcher.stop() 2026-04-02 12:50:04.321314 | ubuntu-noble | 2026-04-02 12:50:04.321319 | ubuntu-noble | # once patcher is stopped, clean it. This is required to create a new 2026-04-02 12:50:04.321325 | ubuntu-noble | # fresh patcher on self.start() 2026-04-02 12:50:04.321330 | ubuntu-noble | self._patcher = None 2026-04-02 12:50:04.321335 | ubuntu-noble | 2026-04-02 12:50:04.321340 | ubuntu-noble | if not self.assert_all_requests_are_fired: 2026-04-02 12:50:04.321345 | ubuntu-noble | return 2026-04-02 12:50:04.321355 | ubuntu-noble | 2026-04-02 12:50:04.321360 | ubuntu-noble | if not allow_assert: 2026-04-02 12:50:04.321366 | ubuntu-noble | return 2026-04-02 12:50:04.321371 | ubuntu-noble | 2026-04-02 12:50:04.321376 | ubuntu-noble | not_called = [m for m in self.registered() if m.call_count == 0] 2026-04-02 12:50:04.321381 | ubuntu-noble | if not_called: 2026-04-02 12:50:04.321386 | ubuntu-noble | > raise AssertionError( 2026-04-02 12:50:04.321392 | ubuntu-noble | "Not all requests have been executed {!r}".format( 2026-04-02 12:50:04.321397 | ubuntu-noble | [(match.method, match.url) for match in not_called] 2026-04-02 12:50:04.321402 | ubuntu-noble | ) 2026-04-02 12:50:04.321407 | ubuntu-noble | ) 2026-04-02 12:50:04.321412 | ubuntu-noble | E AssertionError: Not all requests have been executed [('PATCH', re.compile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\w'))] 2026-04-02 12:50:04.321418 | ubuntu-noble | 2026-04-02 12:50:04.321423 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:1235: AssertionError 2026-04-02 12:50:04.321428 | ubuntu-noble | _ TestGenerateCloudControllerManagerConfig.test_generate_cloud_controller_manager_config _ 2026-04-02 12:50:04.321433 | ubuntu-noble | 2026-04-02 12:50:04.321438 | ubuntu-noble | self = 2026-04-02 12:50:04.321452 | ubuntu-noble | mocker = 2026-04-02 12:50:04.321463 | ubuntu-noble | requests_mock = 2026-04-02 12:50:04.321470 | ubuntu-noble | 2026-04-02 12:50:04.321477 | ubuntu-noble | def test_generate_cloud_controller_manager_config(self, mocker, requests_mock): 2026-04-02 12:50:04.321485 | ubuntu-noble | with requests_mock as rsps: 2026-04-02 12:50:04.321490 | ubuntu-noble | rsps.add(self._response_for_cloud_config_secret()) 2026-04-02 12:50:04.321495 | ubuntu-noble | 2026-04-02 12:50:04.321500 | ubuntu-noble | config = utils.generate_cloud_controller_manager_config( 2026-04-02 12:50:04.321506 | ubuntu-noble | self.context, self.pykube_api, self.cluster 2026-04-02 12:50:04.321511 | ubuntu-noble | ) 2026-04-02 12:50:04.321516 | ubuntu-noble | 2026-04-02 12:50:04.321521 | ubuntu-noble | > assert config == textwrap.dedent( 2026-04-02 12:50:04.321526 | ubuntu-noble | """\ 2026-04-02 12:50:04.321532 | ubuntu-noble | [Global] 2026-04-02 12:50:04.321537 | ubuntu-noble | auth-url=http://localhost/v3 2026-04-02 12:50:04.321542 | ubuntu-noble | region=RegionOne 2026-04-02 12:50:04.321547 | ubuntu-noble | application-credential-id=fake_application_credential_id 2026-04-02 12:50:04.321552 | ubuntu-noble | application-credential-secret=fake_application_credential_secret 2026-04-02 12:50:04.321557 | ubuntu-noble | tls-insecure=false 2026-04-02 12:50:04.321563 | ubuntu-noble | 2026-04-02 12:50:04.321568 | ubuntu-noble | [LoadBalancer] 2026-04-02 12:50:04.321573 | ubuntu-noble | lb-provider=amphora 2026-04-02 12:50:04.321578 | ubuntu-noble | lb-method=ROUND_ROBIN 2026-04-02 12:50:04.321583 | ubuntu-noble | create-monitor=True 2026-04-02 12:50:04.321588 | ubuntu-noble | """ 2026-04-02 12:50:04.321594 | ubuntu-noble | ) 2026-04-02 12:50:04.321599 | ubuntu-noble | E AssertionError: assert '[Global]\nau...onitor=True\n' == '[Global]\nau...onitor=True\n' 2026-04-02 12:50:04.321604 | ubuntu-noble | E 2026-04-02 12:50:04.321609 | ubuntu-noble | E Skipping 221 identical leading characters in diff, use -v to show 2026-04-02 12:50:04.321614 | ubuntu-noble | E - er=amphora 2026-04-02 12:50:04.321620 | ubuntu-noble | E + er=amphorav2 2026-04-02 12:50:04.321625 | ubuntu-noble | E ? ++ 2026-04-02 12:50:04.321630 | ubuntu-noble | E lb-method=ROUND_ROBIN 2026-04-02 12:50:04.321635 | ubuntu-noble | E create-monitor=True 2026-04-02 12:50:04.321640 | ubuntu-noble | 2026-04-02 12:50:04.321645 | ubuntu-noble | magnum_cluster_api/tests/unit/test_utils.py:102: AssertionError 2026-04-02 12:50:04.321651 | ubuntu-noble | =============================== warnings summary =============================== 2026-04-02 12:50:04.321656 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum/common/context.py:13 2026-04-02 12:50:04.321661 | ubuntu-noble | /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/unit/lib/python3.12/site-packages/magnum/common/context.py:13: EventletDeprecationWarning: 2026-04-02 12:50:04.321666 | ubuntu-noble | Eventlet is deprecated. It is currently being maintained in bugfix mode, and 2026-04-02 12:50:04.321677 | ubuntu-noble | we strongly recommend against using it for new projects. 2026-04-02 12:50:04.321683 | ubuntu-noble | 2026-04-02 12:50:04.321688 | ubuntu-noble | If you are already using Eventlet, we recommend migrating to a different 2026-04-02 12:50:04.321693 | ubuntu-noble | framework. For more detail see 2026-04-02 12:50:04.321698 | ubuntu-noble | https://eventlet.readthedocs.io/en/latest/asyncio/migration.html 2026-04-02 12:50:04.321704 | ubuntu-noble | 2026-04-02 12:50:04.321709 | ubuntu-noble | from eventlet.green import threading 2026-04-02 12:50:04.321714 | ubuntu-noble | 2026-04-02 12:50:04.321719 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/oslo_utils/eventletutils.py:36 2026-04-02 12:50:04.321724 | ubuntu-noble | /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/unit/lib/python3.12/site-packages/oslo_utils/eventletutils.py:36: DeprecationWarning: eventletutils module is deprecated and will be removed. 2026-04-02 12:50:04.321730 | ubuntu-noble | debtcollector.deprecate( 2026-04-02 12:50:04.321735 | ubuntu-noble | 2026-04-02 12:50:04.321740 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/webob/compat.py:5 2026-04-02 12:50:04.321746 | ubuntu-noble | /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/unit/lib/python3.12/site-packages/webob/compat.py:5: DeprecationWarning: 'cgi' is deprecated and slated for removal in Python 3.13 2026-04-02 12:50:04.321751 | ubuntu-noble | from cgi import parse_header 2026-04-02 12:50:04.321756 | ubuntu-noble | 2026-04-02 12:50:04.321761 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/oslo_service/eventlet_backdoor.py:36 2026-04-02 12:50:04.321772 | ubuntu-noble | /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/unit/lib/python3.12/site-packages/oslo_service/eventlet_backdoor.py:36: DeprecationWarning: The 'oslo_service.eventlet_backdoor' module usage is deprecated and will be removed in version '2026.2': The 'eventlet_backdoor' module is deprecated and will be removed in version 2026.2. This module is not being replaced. Please migrate away from using it and remove any dependencies on this module. 2026-04-02 12:50:04.321778 | ubuntu-noble | removals.removed_module( 2026-04-02 12:50:04.321784 | ubuntu-noble | 2026-04-02 12:50:04.782115 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py::TestDriver::test_create_cluster[auto_healing_enabled=True-auto_scaling_enabled=True] 2026-04-02 12:50:04.782222 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py::TestDriver::test_create_cluster[auto_healing_enabled=True-auto_scaling_enabled=True] 2026-04-02 12:50:04.782235 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py::TestDriver::test_create_cluster[auto_healing_enabled=True-auto_scaling_enabled=False] 2026-04-02 12:50:04.782244 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py::TestDriver::test_create_cluster[auto_healing_enabled=True-auto_scaling_enabled=False] 2026-04-02 12:50:04.782254 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py::TestDriver::test_create_cluster[auto_healing_enabled=False-auto_scaling_enabled=True] 2026-04-02 12:50:04.782263 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py::TestDriver::test_create_cluster[auto_healing_enabled=False-auto_scaling_enabled=True] 2026-04-02 12:50:04.782285 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py::TestDriver::test_create_cluster[auto_healing_enabled=False-auto_scaling_enabled=False] 2026-04-02 12:50:04.782305 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py::TestDriver::test_create_cluster[auto_healing_enabled=False-auto_scaling_enabled=False] 2026-04-02 12:50:04.782327 | ubuntu-noble | /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/unit/lib/python3.12/site-packages/eventlet/__init__.py:83: DeprecationWarning: Using fork() is a bad idea, and there is no guarantee eventlet will work. See https://eventlet.readthedocs.io/en/latest/fork.html for more details. 2026-04-02 12:50:04.782337 | ubuntu-noble | warnings.warn( 2026-04-02 12:50:04.782358 | ubuntu-noble | 2026-04-02 12:50:04.782369 | ubuntu-noble | -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 2026-04-02 12:50:04.782379 | ubuntu-noble | =========================== short test summary info ============================ 2026-04-02 12:50:04.782389 | ubuntu-noble | FAILED magnum_cluster_api/tests/unit/test_driver.py::TestDriver::test_update_nodegroup[auto_healing_enabled=True-auto_scaling_enabled=True] 2026-04-02 12:50:04.782415 | ubuntu-noble | FAILED magnum_cluster_api/tests/unit/test_driver.py::TestDriver::test_update_nodegroup[auto_healing_enabled=True-auto_scaling_enabled=False] 2026-04-02 12:50:04.782425 | ubuntu-noble | FAILED magnum_cluster_api/tests/unit/test_driver.py::TestDriver::test_update_nodegroup[auto_healing_enabled=False-auto_scaling_enabled=True] 2026-04-02 12:50:04.782434 | ubuntu-noble | FAILED magnum_cluster_api/tests/unit/test_driver.py::TestDriver::test_update_nodegroup[auto_healing_enabled=False-auto_scaling_enabled=False] 2026-04-02 12:50:04.782443 | ubuntu-noble | FAILED magnum_cluster_api/tests/unit/test_driver.py::TestDriver::test_update_nodegroup_with_multiple_node_groups[auto_healing_enabled=True-auto_scaling_enabled=True] 2026-04-02 12:50:04.782453 | ubuntu-noble | FAILED magnum_cluster_api/tests/unit/test_driver.py::TestDriver::test_update_nodegroup_with_multiple_node_groups[auto_healing_enabled=True-auto_scaling_enabled=False] 2026-04-02 12:50:04.782463 | ubuntu-noble | FAILED magnum_cluster_api/tests/unit/test_driver.py::TestDriver::test_update_nodegroup_with_multiple_node_groups[auto_healing_enabled=False-auto_scaling_enabled=True] 2026-04-02 12:50:04.782472 | ubuntu-noble | FAILED magnum_cluster_api/tests/unit/test_driver.py::TestDriver::test_update_nodegroup_with_multiple_node_groups[auto_healing_enabled=False-auto_scaling_enabled=False] 2026-04-02 12:50:04.782481 | ubuntu-noble | FAILED magnum_cluster_api/tests/unit/test_utils.py::TestGenerateCloudControllerManagerConfig::test_generate_cloud_controller_manager_config 2026-04-02 12:50:04.782490 | ubuntu-noble | ================= 9 failed, 176 passed, 12 warnings in 20.31s ================== 2026-04-02 12:50:05.264594 | ubuntu-noble | unit: 137942 C exit 1 (23.36 seconds) /home/zuul/src/github.com/vexxhost/magnum-cluster-api> pytest magnum_cluster_api/tests/unit/ pid=16018 [tox/execute/api.py:311] 2026-04-02 12:50:05.267220 | ubuntu-noble | .pkg: 137945 W _exit> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True maturin [tox/tox_env/api.py:515] 2026-04-02 12:50:05.268744 | ubuntu-noble | Backend: run command _exit with args {} 2026-04-02 12:50:05.268775 | ubuntu-noble | Backend: Wrote response {'return': 0} to /tmp/pep517__exit-0udk6bf_.json 2026-04-02 12:50:05.270532 | ubuntu-noble | .pkg: 137948 I exit None (0.00 seconds) /home/zuul/src/github.com/vexxhost/magnum-cluster-api> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True maturin pid=11662 [tox/execute/api.py:311] 2026-04-02 12:50:05.286724 | ubuntu-noble | .pkg: 137964 D delete package /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.tmp/package/2/magnum_cluster_api-0.36.1.tar.gz [tox/tox_env/python/virtual_env/package/pyproject.py:245] 2026-04-02 12:50:05.290883 | ubuntu-noble | unit: FAIL code 1 (137.75=setup[114.39]+cmd[23.36] seconds) 2026-04-02 12:50:05.290913 | ubuntu-noble | evaluation failed :( (137.78 seconds) 2026-04-02 12:50:05.691883 | ubuntu-noble | ERROR 2026-04-02 12:50:05.692136 | ubuntu-noble | { 2026-04-02 12:50:05.692182 | ubuntu-noble | "delta": "0:02:18.039414", 2026-04-02 12:50:05.692212 | ubuntu-noble | "end": "2026-04-02 12:50:05.333837", 2026-04-02 12:50:05.692237 | ubuntu-noble | "msg": "non-zero return code", 2026-04-02 12:50:05.692264 | ubuntu-noble | "rc": 1, 2026-04-02 12:50:05.692290 | ubuntu-noble | "start": "2026-04-02 12:47:47.294423" 2026-04-02 12:50:05.692315 | ubuntu-noble | } failure 2026-04-02 12:50:05.868176 | 2026-04-02 12:50:05.868302 | TASK [tox : Look for output] 2026-04-02 12:50:06.338308 | ubuntu-noble | ok 2026-04-02 12:50:07.032684 | 2026-04-02 12:50:07.032834 | TASK [tox : Return file comments to Zuul] 2026-04-02 12:50:07.078224 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 12:50:07.079955 | 2026-04-02 12:50:07.080033 | PLAY RECAP 2026-04-02 12:50:07.080116 | ubuntu-noble | ok: 12 changed: 8 unreachable: 0 failed: 1 skipped: 4 rescued: 0 ignored: 0 2026-04-02 12:50:07.080163 | 2026-04-02 12:50:07.217791 | RUN END RESULT_NORMAL: [untrusted : opendev.org/zuul/zuul-jobs/playbooks/tox/run.yaml@master] 2026-04-02 12:50:07.220137 | POST-RUN START: [untrusted : opendev.org/zuul/zuul-jobs/playbooks/tox/post.yaml@master] 2026-04-02 12:50:15.856928 | 2026-04-02 12:50:15.857084 | PLAY [all] 2026-04-02 12:50:15.889216 | 2026-04-02 12:50:15.889312 | TASK [fetch-tox-output : Set tox log path for multiple nodes] 2026-04-02 12:50:15.934282 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 12:50:15.946073 | 2026-04-02 12:50:15.946187 | TASK [fetch-tox-output : Set tox log path for single node] 2026-04-02 12:50:15.990524 | ubuntu-noble | ok 2026-04-02 12:50:15.997692 | 2026-04-02 12:50:15.997792 | TASK [fetch-tox-output : Ensure local tox dir] 2026-04-02 12:50:16.510101 | ubuntu-noble -> localhost | changed 2026-04-02 12:50:16.527311 | 2026-04-02 12:50:16.527422 | TASK [fetch-tox-output : Ensure zuul-output tox dir] 2026-04-02 12:50:16.572502 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 12:50:16.583253 | 2026-04-02 12:50:16.583358 | TASK [fetch-tox-output : Set envlist fact] 2026-04-02 12:50:16.637851 | ubuntu-noble | ok 2026-04-02 12:50:16.645250 | 2026-04-02 12:50:16.645379 | TASK [fetch-tox-output : Get tox version] 2026-04-02 12:50:17.212488 | ubuntu-noble | ROOT: No loadable tox.ini or setup.cfg or pyproject.toml or tox.toml found, assuming empty tox.ini at /home/zuul 2026-04-02 12:50:17.227224 | ubuntu-noble | 4.52.0 from /home/zuul/.local/tox/lib/python3.12/site-packages/tox/__init__.py 2026-04-02 12:50:17.687185 | ubuntu-noble | ok: Runtime: 0:00:00.252600 2026-04-02 12:50:17.694894 | 2026-04-02 12:50:17.694987 | TASK [fetch-tox-output : Find all default environments] 2026-04-02 12:50:18.224691 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 12:50:18.236574 | 2026-04-02 12:50:18.236657 | TASK [fetch-tox-output : Set envlist fact] 2026-04-02 12:50:18.271532 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 12:50:18.281145 | 2026-04-02 12:50:18.281238 | TASK [fetch-tox-output : Find all default environments] 2026-04-02 12:50:18.812564 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 12:50:18.822937 | 2026-04-02 12:50:18.823034 | TASK [fetch-tox-output : Set envlist fact] 2026-04-02 12:50:18.847720 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 12:50:18.858707 | 2026-04-02 12:50:18.858810 | LOOP [fetch-tox-output : Copy tox logs] 2026-04-02 12:50:18.897503 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 12:50:18.913568 | 2026-04-02 12:50:18.913727 | LOOP [fetch-tox-output : Collect tox logs] 2026-04-02 12:50:20.021745 | ubuntu-noble | changed: 2026-04-02 12:50:20.021894 | ubuntu-noble | created directory /var/lib/zuul/builds/8a349a3001764ce5a138bf3680253ebe/work/logs/tox/unit 2026-04-02 12:50:20.021921 | ubuntu-noble | cd+++++++++ ./ 2026-04-02 12:50:20.021944 | ubuntu-noble | >f+++++++++ 1-install_package.log 2026-04-02 12:50:20.021965 | ubuntu-noble | >f+++++++++ 2-commands[0].log 2026-04-02 12:50:20.021988 | 2026-04-02 12:50:20.036837 | 2026-04-02 12:50:20.036887 | PLAY RECAP 2026-04-02 12:50:20.036927 | ubuntu-noble | ok: 5 changed: 3 unreachable: 0 failed: 0 skipped: 7 rescued: 0 ignored: 0 2026-04-02 12:50:20.036949 | 2026-04-02 12:50:20.153360 | POST-RUN END RESULT_NORMAL: [untrusted : opendev.org/zuul/zuul-jobs/playbooks/tox/post.yaml@master] 2026-04-02 12:50:20.155976 | POST-RUN START: [untrusted : opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml@master] 2026-04-02 12:50:21.988702 | 2026-04-02 12:50:21.988824 | PLAY [all] 2026-04-02 12:50:22.579303 | 2026-04-02 12:50:22.579659 | TASK [fetch-subunit-output : Find stestr or testr executable] 2026-04-02 12:50:23.972354 | ubuntu-noble | changed: non-zero return code 2026-04-02 12:50:23.986124 | 2026-04-02 12:50:23.986232 | TASK [fetch-subunit-output : Get the list of directories with subunit files] 2026-04-02 12:50:24.012747 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 12:50:24.035090 | 2026-04-02 12:50:24.035279 | LOOP [fetch-subunit-output : Find any inflight partial subunit files] 2026-04-02 12:50:24.072198 | 2026-04-02 12:50:24.072367 | LOOP [fetch-subunit-output : Copy any inflight subunit files] 2026-04-02 12:50:24.107537 | 2026-04-02 12:50:24.107669 | TASK [fetch-subunit-output : Create a temporary file to store the subunit stream] 2026-04-02 12:50:24.131931 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 12:50:24.141597 | 2026-04-02 12:50:24.141685 | LOOP [fetch-subunit-output : Generate subunit file] 2026-04-02 12:50:24.176060 | 2026-04-02 12:50:24.176226 | TASK [fetch-subunit-output : Copy the combined subunit file to the zuul work directory] 2026-04-02 12:50:24.201610 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 12:50:24.213940 | 2026-04-02 12:50:24.214009 | TASK [fetch-subunit-output : Remove the temporary file] 2026-04-02 12:50:24.239198 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 12:50:24.254161 | 2026-04-02 12:50:24.254368 | TASK [fetch-subunit-output : Process and fetch subunit results] 2026-04-02 12:50:24.280713 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 12:50:24.290679 | 2026-04-02 12:50:24.290770 | PLAY RECAP 2026-04-02 12:50:24.290828 | ubuntu-noble | ok: 1 changed: 1 unreachable: 0 failed: 0 skipped: 8 rescued: 0 ignored: 0 2026-04-02 12:50:24.290858 | 2026-04-02 12:50:24.427983 | POST-RUN END RESULT_NORMAL: [untrusted : opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml@master] 2026-04-02 12:50:24.430185 | POST-RUN START: [trusted : github.com/vexxhost/zuul-config/playbooks/base/post.yaml@main] 2026-04-02 12:50:25.152581 | 2026-04-02 12:50:25.152707 | PLAY [all] 2026-04-02 12:50:25.165000 | 2026-04-02 12:50:25.165116 | TASK [fetch-output : Set log path for multiple nodes] 2026-04-02 12:50:25.210496 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 12:50:25.223537 | 2026-04-02 12:50:25.223635 | TASK [fetch-output : Set log path for single node] 2026-04-02 12:50:25.269214 | ubuntu-noble | ok 2026-04-02 12:50:25.276582 | 2026-04-02 12:50:25.276691 | LOOP [fetch-output : Ensure local output dirs] 2026-04-02 12:50:25.690575 | ubuntu-noble -> localhost | ok: "/var/lib/zuul/builds/8a349a3001764ce5a138bf3680253ebe/work/logs" 2026-04-02 12:50:25.929049 | ubuntu-noble -> localhost | changed: "/var/lib/zuul/builds/8a349a3001764ce5a138bf3680253ebe/work/artifacts" 2026-04-02 12:50:26.145121 | ubuntu-noble -> localhost | changed: "/var/lib/zuul/builds/8a349a3001764ce5a138bf3680253ebe/work/docs" 2026-04-02 12:50:26.168606 | 2026-04-02 12:50:26.168780 | LOOP [fetch-output : Collect logs, artifacts and docs] 2026-04-02 12:50:26.803796 | ubuntu-noble | changed: .d..t...... ./ 2026-04-02 12:50:26.804115 | ubuntu-noble | changed: All items complete 2026-04-02 12:50:26.804176 | 2026-04-02 12:50:27.266371 | ubuntu-noble | changed: .d..t...... ./ 2026-04-02 12:50:27.756094 | ubuntu-noble | changed: .d..t...... ./ 2026-04-02 12:50:27.790055 | 2026-04-02 12:50:27.790162 | LOOP [merge-output-to-logs : Move artifacts and docs to logs dir] 2026-04-02 12:50:28.335129 | ubuntu-noble -> localhost | ok: Item: artifacts Runtime: 0:00:00.121771 2026-04-02 12:50:28.562695 | ubuntu-noble -> localhost | ok: Item: docs Runtime: 0:00:00.009249 2026-04-02 12:50:28.584455 | 2026-04-02 12:50:28.584617 | PLAY [all] 2026-04-02 12:50:28.594500 | 2026-04-02 12:50:28.594605 | TASK [remove-build-sshkey : Remove the build SSH key from all nodes] 2026-04-02 12:50:29.059693 | ubuntu-noble | changed 2026-04-02 12:50:29.933738 | 2026-04-02 12:50:29.933874 | PLAY RECAP 2026-04-02 12:50:29.933924 | ubuntu-noble | ok: 5 changed: 4 unreachable: 0 failed: 0 skipped: 1 rescued: 0 ignored: 0 2026-04-02 12:50:29.933947 | 2026-04-02 12:50:30.086705 | POST-RUN END RESULT_NORMAL: [trusted : github.com/vexxhost/zuul-config/playbooks/base/post.yaml@main] 2026-04-02 12:50:30.315271 | POST-RUN START: [trusted : github.com/vexxhost/zuul-config/playbooks/base/post-logs.yaml@main] 2026-04-02 12:50:30.941883 | 2026-04-02 12:50:30.942043 | PLAY [localhost] 2026-04-02 12:50:30.951721 | 2026-04-02 12:50:30.951795 | TASK [Generate Zuul manifest] 2026-04-02 12:50:30.969652 | localhost | ok 2026-04-02 12:50:31.472286 | 2026-04-02 12:50:31.472441 | TASK [generate-zuul-manifest : Generate Zuul manifest] 2026-04-02 12:50:31.818151 | localhost | changed 2026-04-02 12:50:31.831726 | 2026-04-02 12:50:31.831798 | TASK [generate-zuul-manifest : Return Zuul manifest URL to Zuul] 2026-04-02 12:50:32.276556 | localhost | ok 2026-04-02 12:50:32.286140 | 2026-04-02 12:50:32.286233 | TASK [Upload logs] 2026-04-02 12:50:32.304146 | localhost | ok 2026-04-02 12:50:33.371826 | 2026-04-02 12:50:33.371967 | TASK [Set zuul-log-path fact] 2026-04-02 12:50:33.393518 | localhost | ok 2026-04-02 12:50:33.407757 | 2026-04-02 12:50:33.407857 | TASK [set-zuul-log-path-fact : Set log path for a build] 2026-04-02 12:50:33.442225 | localhost | ok 2026-04-02 12:50:33.452428 | 2026-04-02 12:50:33.452583 | TASK [upload-logs : Create log directories] 2026-04-02 12:50:33.861787 | localhost | changed 2026-04-02 12:50:33.869826 | 2026-04-02 12:50:33.869933 | TASK [upload-logs : Ensure logs are readable before uploading] 2026-04-02 12:50:34.282933 | localhost -> localhost | ok: Runtime: 0:00:00.005807 2026-04-02 12:50:34.290660 | 2026-04-02 12:50:34.290749 | TASK [upload-logs : Upload logs to log server] 2026-04-02 12:50:35.126932 | localhost | Output suppressed because no_log was given 2026-04-02 12:50:35.131776 | 2026-04-02 12:50:35.131864 | LOOP [upload-logs : Compress console log and json output] 2026-04-02 12:50:35.177296 | localhost | skipping: Conditional result was False 2026-04-02 12:50:35.184016 | localhost | skipping: Conditional result was False 2026-04-02 12:50:35.196560 | 2026-04-02 12:50:35.196703 | LOOP [upload-logs : Upload compressed console log and json output] 2026-04-02 12:50:35.246054 | localhost | skipping: Conditional result was False 2026-04-02 12:50:35.246443 | 2026-04-02 12:50:35.250548 | localhost | skipping: Conditional result was False 2026-04-02 12:50:35.262049 | 2026-04-02 12:50:35.262182 | LOOP [upload-logs : Upload console log and json output]